2017-11-06 12 views
0

twitterや他のソーシャルネットワークと同じようにurlManagerパターンを設定できますか?例えば私は、次のルートを持つようにしたい:YI2のurlManagerをtwitterのように動作させるように設定する

http://www.example.com/[user_id] 
http://www.example.com/[user_id]/[mycontroller]/[myaction] 
  • ユーザーが自分のuser_idを記述する場合、それは彼らのdahboardページに移動します。
  • ユーザがコントローラとアクション 名前が続く彼らのuser_idを記述する場合には、以下の2つのURLを追加し、適切なコントローラのアクション

答えて

0

に移行します。

最初のルールは任意の数字と一致し、プロファイルコントローラのインデックスアクションを実行します。 indexアクションは、ユーザーIDを受け取ることになりますので、

'<user_id:\d+>' => 'profile/index', 

public function actionIndex($user_id)だから/1ProfileControlleractionIndexを実行し、$user_idとして1を渡してしまうような関数は、ほとんどの場合、見ていきます。

2番目のルールは、スラッシュで区切られた2つの単語の後に続く任意の数字に一致します。

'<user_id:\d+>/<controller:\w+>/<action:\w+>' => '<controller>/<action>', 

ので/1/some/somethingSomeControlleractionSomethingを実行します。そして、actionSomethingは再び$user_idを受け取るでしょう。

関連する問題