を使用するときの複雑さの 1 つRoute::get('{slug1}/{slug2}', 'PagesController@index');
は、可能なすべての入力を処理することであるとsegment1/segment2/
思いますfoo/bar/
。おそらく、多くの不必要なロジックで終わるでしょう。
これは最善の解決策ではないかもしれませんが、達成しようとしている目的にはグループがうまく機能すると思います。
Route::group(array('prefix' => 'segment1'), function() {
Route::get('/', 'ControllerOne@index');
Route::group(array('prefix' => 'segment2'), function() {
Route::get('/', 'ControllerTwo@index);
Route::get('/segment3', 'ControllerThree@index');
});
});
3 つの例だけを扱う場合は少し面倒かもしれませんが、最終的には有益であり、より適切な階層を提供することができます。
これには、フィルタを使用する利点もありbefore
ますafter
。すべてのsegment2
エンドポイントと同様に、フィルターを実行する場合は、個々のエンドポイントすべてにフィルターを追加する代わりに、グループに追加するだけです!
Route::group(array('before' => 'someFilter', 'prefix' => 'segment2'), function() {
// ... ...
});