2017-11-06 9 views
0

트위터 또는 다른 소셜 네트워크와 같은 방식으로 urlManager 패턴을 설정할 수 있습니까? 예를 들어, 나는 다음과 같은 경로를 갖고 싶어 :YI2의 urlManager를 트위터처럼 작동하도록 설정하십시오.

http://www.example.com/[user_id] 
http://www.example.com/[user_id]/[mycontroller]/[myaction] 
  • 사용자는 자신의 dahboard 페이지로 이동 자신의 USER_ID를 작성하는 경우. 사용자가 자신의 USER_ID는 컨트롤러와 액션 이름 다음에 작성하는 경우
  • 다음과 같은 두 개의 URL을 추가 적절한 컨트롤러 액션

답변

0

로 진행한다.

첫 번째 규칙은 모든 숫자와 일치하고 프로필 컨트롤러의 색인 작업을 실행합니다. 인덱스 조치는 사용자 ID를 받게됩니다, 그래서

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

public function actionIndex($user_id) 그래서 /1ProfileControlleractionIndex을 실행하고 $user_id로 (1)를 통과 것 같은 기능은 거의 확실하게 볼 것이다.

두 번째 규칙은 두 단어 뒤에 임의의 숫자와 일치하며 물론 슬래시로 구분됩니다.

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

그래서 /1/some/somethingSomeControlleractionSomething을 실행합니다. 그리고 actionSomething은 다시 $user_id을 수신합니다.