2011-03-22 4 views
0

는 내가이 사람과 같은 문제가 생각 - http://framework.zend.com/issues/browse/ZF-9385?page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel휴식 라우터/젠드에 여러 가지 ID?

"내가 좋아하는 뭔가를 호출 할 경우이 /모드/콘/123/ABC 것을 나는 기대 편안한 컨트롤러에 ,"123 "내입니다 ID와 "abc"는 다른 것 (보조/후속 ID)이며, 대신 "123"은 "abc"가 값이고 "id"가없는 키입니다. 여기에 ID와 추가 매개 변수가 없어야합니다. .. 나는 그들이 단지 번호가 매겨져있는 것을 선호 할 것이다. 그러나 최소한 일반적인 동작 (/ key1/value1/key2/value2)은 id 매개 변수 뒤에 시작해야한다. "

[_params:protected] => Array 
    (
     [controller] => getdetails 
     [action] => get 
     [format] => xml 
     [123] => 234 
     [345] => 456 
     [module] => default 
    ) 

방법 : 젠드 반면 mycontroller.com/a/getdetails/123/234/345/456

같이 위 유지 :

나는 URL에서 ID를 추출해야 123, 234, 345 및 456을 ID로 처리 할 수 ​​있습니까? 아니면 어떻게 URL에서 그들을 구출합니까?

답변

0

사용자 정의 경로를 만들거나

mycontroller.com/a/getdetails/ids/123|234|345|456

처럼 뭔가에 URL 구조 (쉬운 방법)을 변경하고 폭발해야 하나 귀하의 구분 기호에.

+0

젠장, URL 구조를보다 표준적인 방식으로 변경하거나 사용자 지정 경로를 변경하는 중입니까? 사용자 정의 경로에서 작업 할 수있는 방법에 대한 지침이 있습니까? 젠드는 나를위한 새로운 짐승이다. – siliconpi

+0

다시 작성 ...... –

+0

URL 구조를 수정하지 않고 최종 사용자에게보다 직관적 인 방법이므로 사용자 지정 라우트로 이동합니다. 아마도 $ 경로 = 새로운 Zend_Controller_Router_Route_Regex ( 같은 'A/getdetails/IDS/([\ D | /] +)' 어레이 ( '제어기'=> 'A', '액션'=> ' getdetails ' ) ); $ router-> addRoute ('some_route_name', $ route); 그리고 ID가 요청 개체에 주입됩니다.이 경우에는 delimeter "/"에서 여전히 폭발 할 필요가 있습니다. –