2010-08-05 4 views
0

내가이 길 shortern 위해 노력 해왔다와 라우터 재 작성이에
http://abc.localhost/user/view/index/id/1젠드 프레임 워크 - 정규식

: 내 부트 스트랩 코드의 다음 부분과
http://abc.localhost/user/1

을하지만, 내가가 계속 '역 경로가 지정되지 않았습니다'라는 오류가 발생합니다. 이유는 무엇입니까?

$route = new Zend_Controller_Router_Route_Regex(
    'user/(\d+)', 
    array(
     'module'  => 'user', 
     'controller' => 'view', 
     'action'  => 'index' 
    ), 
    array(
     1 => 'id' 
    ) 
); 
$router->addRoute('user', $route); 

감사합니다,
마틴

답변

4

당신은 당신이 경로를 재 구축하는 데 사용할 수있는 Zend_Controller_Router_Route_Regex에 4 매개 변수를 전달해야하는 정규식 경로와 URL 헬퍼를 사용합니다. 이 4 번째 매개 변수는 매개 변수를 주입 할 수있는 sprintf 형식의 문자열이어야합니다. 정규식 노선 매뉴얼 섹션의 끝 부분이 오른쪽에 몇 가지 정보가

$route = new Zend_Controller_Router_Route_Regex(
    'user/(\d+)', 
    array(
     'module'  => 'user', 
     'controller' => 'view', 
     'action'  => 'index' 
    ), 
    array(
     1 => 'id' 
    ), 
    'user/%d' 
); 
$router->addRoute('user', $route); 

: 귀하의 경우

그것은 같은 것 http://framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.routes.regex를 -하지만 놓치기 쉽다.

+0

환상적입니다! 감사! – Martin