我的/ Scope中有以下路径:
$routes->connect('/api/:controller/:action', ['prefix'=>'api'], ['routeClass' => 'DashedRoute']);
在我的源代码/控制器/UsersController. php上,我有api_index()
但是当我转到url api/Users/index
时,它说找不到控制器,因为它要求我在控制器文件夹上名为Api的子文件夹内添加另一个用户控制器。
在Cakephp 2.x使用这个行为之前,我如何才能在CakePHP 3.x上实现与Cakephp 2.x上相同的行为呢?
非常感谢!
1条答案
按热度按时间xxhby3vn1#
来自cakephp的书
前缀路由静态Cake\Routing\Router::prefix($name,$callback)许多应用程序需要一个管理部分,特权用户可以在其中进行更改。这通常通过一个特殊的URL(如
/admin/users/edit/5
)来完成。在CakePHP中,前缀路由可以通过使用前缀作用域方法来启用:;
前缀被Map到应用程序的控制器名称空间中的子名称空间。通过将前缀作为单独的控制器,您可以创建更小更简单的控制器。带前缀和不带前缀的控制器共有的行为可以使用继承、组件或特征来封装。使用我们的用户示例,访问URL /admin/users/edit/5将调用src/Controller/Admin/UsersController.php的edit()方法,传递5作为第一个参数。
您可以使用以下路径将URL /adminMap到页面控制器的index()操作:
https://book.cakephp.org/3/en/development/routing.html#prefix-routing