在 Yi2 中设置 urlManager 以像 twitter 一样工作
Setup urlManager in Yi2 to work like twitter
我能否设置 urlManager 模式使其像 Twitter 或任何其他社交网络一样工作?例如我想要以下路线:
http://www.example.com/[user_id]
http://www.example.com/[user_id]/[mycontroller]/[myaction]
- 如果用户写下他们的 user_id,它会转到他们的仪表板页面。
- 如果用户写下他们的 user_id,然后是控制器和操作
命名它继续进行适当的控制器操作
添加以下两个网址。
第一条规则将匹配任何数字并执行配置文件控制器的索引操作。索引操作将接收用户 ID,因此该函数很可能看起来像 public function actionIndex($user_id)
'<user_id:\d+>' => 'profile/index',
因此 /1
将执行 ProfileController
的 actionIndex
并将 1 作为 $user_id
.
传递
第二条规则将匹配任何数字后跟两个单词,当然用斜线分隔。
'<user_id:\d+>/<controller:\w+>/<action:\w+>' => '<controller>/<action>',
所以 /1/some/something
会在 SomeController
中执行 actionSomething
。 actionSomething
将再次收到 $user_id
.
我能否设置 urlManager 模式使其像 Twitter 或任何其他社交网络一样工作?例如我想要以下路线:
http://www.example.com/[user_id]
http://www.example.com/[user_id]/[mycontroller]/[myaction]
- 如果用户写下他们的 user_id,它会转到他们的仪表板页面。
- 如果用户写下他们的 user_id,然后是控制器和操作 命名它继续进行适当的控制器操作
添加以下两个网址。
第一条规则将匹配任何数字并执行配置文件控制器的索引操作。索引操作将接收用户 ID,因此该函数很可能看起来像 public function actionIndex($user_id)
'<user_id:\d+>' => 'profile/index',
因此 /1
将执行 ProfileController
的 actionIndex
并将 1 作为 $user_id
.
第二条规则将匹配任何数字后跟两个单词,当然用斜线分隔。
'<user_id:\d+>/<controller:\w+>/<action:\w+>' => '<controller>/<action>',
所以 /1/some/something
会在 SomeController
中执行 actionSomething
。 actionSomething
将再次收到 $user_id
.