0

我正在使用 CakePHP 3.3

我有一些仪表板控制器,其名称如下

DashboardUsersController.php, 
DashboardBusinessesController.php,
DashboardCustomersController.php, 
etc

我想映射像这样的网址

http://example.com/dashboard/users/view/param1/param2

这将使用和作为参数调用DashboardUsersController.php类和view函数。param1param2

简而言之,我想将 url 更改http://example.com/dashboard-users/view/paramhttp://example.com/dashboard/users/view/param

只有在域之后存在仪表板时才会执行这种类型的映射,否则它将像访问时一样默认工作http://example.com/users/view/param1将调用UsersController.php

到现在为止我做了什么?

因为,我是 CakePHP 和路由的新手,所以我不知道从哪里开始,因此到目前为止什么也没做。我需要你的帮助。

4

1 回答 1

4

我认为你需要的是前缀。使用前缀 dashboard 烘焙你的控制器模型。

在你的routes.php中使用它

use Cake\Routing\Route\DashedRoute;

Router::prefix('dashboard', function ($routes) {
    // All routes here will be prefixed with `/dashboard
    $routes->fallbacks(DashedRoute::class);
});

并从控制器中删除仪表板部分或从表名中删除仪表板并使用 --prefix 重新烘焙所有内容。

bin/cake bake all --prefix 仪表板

这些链接将帮助您

https://book.cakephp.org/3.0/en/development/routing.html#prefix-routing

https://book.cakephp.org/3.0/en/bake/usage.html

于 2017-02-02T03:52:06.083 回答