2013-01-18 3 views
1

L4로 포팅하려고하는 L3 애플리케이션이 있습니다. 3 계층 버전에서 내 경로 중 하나는이 예를 들어, 내가 URL 세그먼트의 임의의 수를 처리 할 수 ​​Laravel 4 임의의 수의 URL 세그먼트로 라우팅

Route::get('/(:any)/(:all?)', etc... 

입니다 :

/contact_page 
/store_category 
/store_category/shirts_category 
/store_category/shirts_category/specific_shirt_page 
/an/arbitrary/number/of/nested/categories 

그러나 L4에서 나는를 에뮬레이션하는 방법을 알아낼 수 없습니다

의 기능 (? : 모든)

아래 코드는 작동 :

Route::get('/{arg1?}/{arg2?}/{arg3?}', function($arg1='home', $arg2, $arg3) 
{ 
    //do something 
}); 

그래서 나는 많은 수를 추가 할 수 있습니다 선택적 인수 (나는 실제 세계에서 사용할 필요가 있다고 생각한다.)보다 그다지 우아하지 않다.

임의의 수의 URL 세그먼트에 응답 할 수있는 라우트를 정의하는 방법은 Laravel 4에 있습니까?

답변

11

당신은 당신의 경로에 :

Route::get('{any}/{args}', function($action, $args = null) 
{ 
    // do something like return print_r(explode('/', $args), true); 
})->where('args', '(.*)'); 
+0

브릴리언트 전 패턴 조건을 추가 할 수 있습니다! 정말 고맙습니다. – HomeSlice

+0

좋은 생각 :) – motto