Cakephp 3 - 路由是一个动作或一个参数

时间:2016-07-06 19:25:27

标签: php cakephp routes cakephp-3.x

我想知道如何路由以下场景:我有一个名为Users的控制器,在这个控制器中我有很多动作,其中一个是“profile”。

我希望我的地址是这样的:mysite.com/users/NameOfTheUser或mysite.com/users/edit-profile或mysite.com/users/edit-photo等。

当您选择“编辑配置文件”时,您将被重定向到edit_profile操作,但是当您转到“NameOfTheUser”时,我想重定向到“配置文件”操作,将“NameOfTheUser”传递为一个参数。

有没有办法在不手动路由每个动作的情况下这样做?

修改 我使用了Yosi Azwan所说的代码,但是我必须在控制器用户中为每个其他页面创建一个新路由。

Router::connect( '/users/:name', ['controller' => 'Users', 'action' => 'profile'], ['pass' => ['name']] );

1 个答案:

答案 0 :(得分:0)

也许这就是你要找的东西

Router::connect( '/users/:name', ['controller' => 'Users', 'action' => 'profile'], ['pass' => ['name']] );

并阅读此文件以获取完整的文件 http://book.cakephp.org/3.0/en/development/routing.html