在 Cake 3.0 中是否可以在路由中添加实际上不在 url 中的前缀?

Is it possible in Cake 3.0 to add a prefix in routing that isn't actually in the url?

我想要实现的是将我的烘焙控制器保留在 src/Controller/ 中,并为我的管理控制器(在 src/Controller/Admin/ 中)和我的客户控制器(在src/Controller/客户/)。我已经通过以下方式为管理员实现了这一目标:

Router::prefix('admin', function ($routes) {
    $routes->fallbacks('DashedRoute');
});

但是,对于客户,我不想在 URL 中使用 /customer/。这可能吗?

例如,http://example.org/users 应该使用 src/Controller/Customer/UsersController.php

我想我解决了:

Router::prefix('admin', function ($routes) {
    $routes->fallbacks('DashedRoute');
});

Router::scope('/', function ($routes) {
    $routes->connect(
        '/:controller/:action/*',
        ['prefix' => 'customer'],
        ['routeClass' => 'DashedRoute']
   );
    $routes->connect(
        '/:controller/*',
        ['prefix' => 'customer'],
        ['routeClass' => 'DashedRoute']
    );
});