在我的routes.php文件中,我定义:
Router::prefix('admin', function ($routes) {
$routes->connect(
'/',
[
'plugin' => false,
'controller' => 'Users',
'action' => 'dashboard'
],
['_name' => 'admin_dashboard']
);
$routes->fallbacks(DashedRoute::class);
});
在控制器中,我这样做:
debug(Router::url(['_name' => 'admin_dashboard']));
打印/admin
正确。
但如果,在同一个控制器中,我这样做:
debug(Router::url([
'prefix' => 'admin',
'plugin' => false,
'controller' => 'Users',
'action' => 'dashboard'
]));
它打印/admin/users/dashboard
不正确,至少我认为我希望它能打印/admin
。
为了让反向路由工作,我有什么遗漏?
我正在使用CakePHP 3.5.4
答案 0 :(得分:0)
push/pop
键并不真正支持布尔值,值应该是带有插件名称的字符串,或者plugin
表示不应该使用插件。
使用null
会导致路由无法匹配,而是被回退路由捕获,因此您最终会得到false
网址。
另见