CakePHP 3: HTMLHelper: URL отсутствует

В настоящее время я обновляю приложение до 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 (). Ни в документации, ни в руководстве по миграции это не упоминается. Есть ли другой способ генерировать ссылки в Cake 3?

Спасибо!
Alex

2

Решение

Прочитайте руководство по миграции:
http://book.cakephp.org/3.0/en/appendices/3-0-migration-guide.html#view-helper

Helper :: url () теперь доступен как Cake \ View \ Helper \ UrlHelper :: build ().

6

Другие решения

Ты можешь использовать Router::url() способ получить действие URL. Так что просто измените вашу строку следующим образом:

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

Кстати, почему бы вам не использовать FormHelper создать свою форму?

2

Для создания ссылок вы можете использовать ссылка на сайт метод 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">
0
По вопросам рекламы [email protected]