CakePHP 3: HTMLHelper:url missing


CakePHP 3: HTMLHelper:url missing

我目前正在将应用程序升级到 CakePHP 3。在 CakePHP 2 中,我使用 HTMLHelper::url 生成指向按钮等控制器/操作的链接。

像这样:

<form class="navbar-form navbar-left form-signin" action="<?php echo $this->HTML->url(array(
    "controller" => "users",
    "action" => "login")); ?>" method="post">

如您所见,我正在使用$this->HTML->url()生成指向我的控制器/操作的链接。在 CakePHP 3 中,缺少 HTMLHelper::url()。文档和迁移指南都没有提到它。有没有另一种方法可以在蛋糕 3 中生成链接?

谢谢!亚历克斯

阅读迁移指南:http://book.cakephp.org/3.0/en/appendices/3-0-migration-guide.html#view-helper

Helper::

url() 现在可用作 Cake''View''Helper''UrlHelper::build()。

您可以使用Router::url()方法来获取操作 url。因此,只需按如下方式更改您的行:

<form class="navbar-form navbar-left form-signin" action="<?php echo Router::url(array("controller" => "users", "action" => "login")); ?>" method="post">

顺便问一下,你为什么不使用FormHelper来生成你的表单?

要创建链接,您可以使用 cakephp 的链接方法

Cake'View'Helper'HtmlHelper::link(string $title, mixed $url = null, array $options =[])

为上述代码尝试此操作

<form class="navbar-form navbar-left form-signin" action="<?php echo $this->HTML->link(array(
    "controller" => "users",
    "action" => "login")); ?>" method="post">