В настоящее время я обновляю приложение до 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
Прочитайте руководство по миграции:
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">