Я создаю CMS, который позволяет пользователю определять категории. Категории могут содержать либо дополнительные категории, либо страницы. Как я могу создать маршрут в Laravel, который будет поддерживать потенциально неограниченное количество сегментов URI?
Я пробовал следующее.
Route::get('/resources/{section}', ['as' => 'show', 'uses' => 'MasterController@show']);
Я также попытался сделать маршрут необязательным …
Route::get('/resources/{section?}', ['as' => 'show', 'uses' => 'MasterController@show']);
Имейте в виду, что раздел может состоять из нескольких разделов или страницы.
Во-первых, вам нужно предоставить регулярное выражение, которое будет использоваться для соответствия значениям параметров. Маршрутизатор Laravel рассматривает / как разделитель параметров, и вы должны изменить это поведение. Вы можете сделать это так:
Route::get('/resources/{section}', [ 'as' => 'show', 'uses' => 'MasterController@show' ]) ->where(['section' => '.*']);
Таким образом, все, что приходит после / resources / и соответствует регулярному выражению, будет передано переменной $ section в вашем контроллере.