Я посмотрел вокруг и в то время как есть ряд подобных вопросов к этому, ответ никогда не был дан, что работает:CakePHP обратная маршрутизация не работает
Я использую CakePHP 3.0. Я пытаюсь подключить и связать некоторые базовые URL-адреса страницы с каркасом.
С точки зрения нормальной маршрутизации это сработало, как ожидалось. Для целей отладки я раздели все маршруты, так что следующие единственные активные маршруты в данный момент:
Router::scope('/', function ($routes) {
$routes->connect('/', ['controller' => 'Pages', 'action' => 'display', 'home', '_name' => 'home']);
$routes->connect('/events', ['controller' => 'Pages', 'action' => 'display', 'events', '_name' => 'events']);
$routes->fallbacks('DashedRoute');
});
Если вручную перейти к /
или /events
эти работы, как и ожидалось.
Теперь, если я попытаюсь маршрут назад (как лучшая практика), я использую следующее:
echo $this->Html->link('News', ['controller' => 'Pages', 'action' => 'home', '_full' => true]);
.. и ..
echo $this->Html->link('Events', ['controller' => 'Pages', 'action' => 'events', '_full' => true]);
Это неправильно дать мне /pages/home
и /pages/events
, Фактически, /
и /events
- это то, что требуется.
Несомненно, это одно из самых простых применений в процессе обратного маршрутизации, поэтому оно должно быть достижимым. Однако - документация не совсем понятна. Он может быть там, но я прочитал его несколько раз.
Может ли кто-нибудь объяснить, как правильно это сделать?
Благодаря
Рик
Большое спасибо. Вторая пара глаз, и это очевидно. – elb98rm