CakePHP-3.5.4 - 反向路由无法按预期工作

时间:2017-11-01 06:32:54

标签: cakephp routes url-routing cakephp-3.0

在我的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

1 个答案:

答案 0 :(得分:0)

push/pop键并不真正支持布尔值,值应该是带有插件名称的字符串,或者plugin表示不应该使用插件。

使用null会导致路由无法匹配,而是被回退路由捕获,因此您最终会得到false网址。

另见