1
나는이 같은 경로를 가지고 :우선 순위 설정 Laravel 4 개 노선
Route::group(array('before' => 'installed'), function() {
Route::group(array('before' => 'auth_admin', 'prefix' => 'admin'), function()
{
Route::group(array('prefix' => 'gag'), function() {
Route::get('/', 'Admin\\[email protected]');
Route::get('delete/{id}','Admin\\[email protected]');
});
});
});
나는 나의 demo
응용 프로그램 콘텐츠를 삭제하지 못하도록해야합니다. 그래서 실제 경로 앞에 다음 코드를 추가했습니다.
if(App::environment() === 'demo')
{
Route::get('admin/gag/delete/{id}', function() {
die("You can't delete anything on demo application.");
});
}
//Actual routes are at the below.
그러나 Route::get('delete/{id}','Admin\\[email protected]');
이있는 경우 작동하지 않습니다. 어쨌든, Laravel은이 if 블록과 우선 순위를 무시합니다. (비록 블록이 상단에 있다면)
routes.php
은 경로가 파싱 된 후 내 if 블록을 구문 분석합니다.
어떻게 Laravel이 내 데모 경로의 우선 순위를 매길 수 있습니까? 이 기능과 같은 일부 기능에 대한 액세스를 제한하고 싶습니다.
ps. if 블록에 모든 경로를 추가하고 싶지 않습니다. 나는 if 블록의 경로에 우선 순위를 부여하기를 원한다.
Route::filter('checkDemo', function()
{
if (App::environment() === 'demo')
{
return Redirect::to('home')->withMessage('You can''t delete anything on demo application.');
}
});
그리고 경로에 필터를 설정합니다 :
그래,하지만 모든 경로를 gag 접두어로 복제해야합니다. 방금/{id} 경로 삭제를 재정의해야합니다. – Aristona
필터를 복제 할 필요가 없으므로 무시하려는 하나의 경로에만 필터를 추가 할 수 있습니다. 방금 편집했습니다. –
사실,하지만 좀 더 쉽게 관리 할 수 있도록 별도의 장소에 작성할 수 있기를 바랍니다. 귀하의 솔루션도 멋지게 보입니다. 다르게 할 수있는 다른 방법이 없다면, 이것을 답으로 선택하겠습니다. – Aristona