Cakephp 3 - 路由是动作或参数
Cakephp 3 - Routes being either an action or a parameter
我想知道如何路由以下场景:我有一个名为用户的控制器,在这个控制器中我有很多操作,其中之一是 "profile"。
我希望我的地址是这样的:mysite.com/users/NameOfTheUser OR mysite.com/users/edit-profile OR mysite.com/users/edit-photo,等等
当您选择 "edit-profile" 时,您将被重定向到 edit_profile 操作,但这里有诀窍,当您选择 "NameOfTheUser" 我想重定向到 "profile" 动作,传递 "NameOfTheUser" 作为参数。
有没有一种方法可以做到这一点而无需手动安排每个操作?
编辑
我使用了 Yosi Azwan 所说的代码,它可以工作,但我必须在控制器用户中为每个其他页面创建一个新路由。
Router::connect( '/users/:name', ['controller' => 'Users', 'action' => 'profile'], ['pass' => ['name']] );
也许这就是您要找的
Router::connect( '/users/:name', ['controller' => 'Users', 'action' => 'profile'], ['pass' => ['name']] );
并阅读此文件以获取完整文档 http://book.cakephp.org/3.0/en/development/routing.html
我想知道如何路由以下场景:我有一个名为用户的控制器,在这个控制器中我有很多操作,其中之一是 "profile"。
我希望我的地址是这样的:mysite.com/users/NameOfTheUser OR mysite.com/users/edit-profile OR mysite.com/users/edit-photo,等等
当您选择 "edit-profile" 时,您将被重定向到 edit_profile 操作,但这里有诀窍,当您选择 "NameOfTheUser" 我想重定向到 "profile" 动作,传递 "NameOfTheUser" 作为参数。
有没有一种方法可以做到这一点而无需手动安排每个操作?
编辑 我使用了 Yosi Azwan 所说的代码,它可以工作,但我必须在控制器用户中为每个其他页面创建一个新路由。
Router::connect( '/users/:name', ['controller' => 'Users', 'action' => 'profile'], ['pass' => ['name']] );
也许这就是您要找的
Router::connect( '/users/:name', ['controller' => 'Users', 'action' => 'profile'], ['pass' => ['name']] );
并阅读此文件以获取完整文档 http://book.cakephp.org/3.0/en/development/routing.html