Laravel направляет многоуровневые подкаталоги - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь преобразовать существующий php-сайт в Laravel.У старого php есть один скрипт, работающий для любого многослойного подкаталога URL.

Например:

/foods/fruits/
/foods/fruits/apples/
/foods/fruits/apples/granny_smith

Все они управляются одним скриптом, который имеет смысл, поскольку они всеизвлечение из той же иерархической таблицы базы данных и логика та же.

Но я не вижу способа сделать это с помощью маршрутизации Laravel.Возможно ли это с Laravel?

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Я думаю, что вы ищете Route::group():

//Note: 'middleware' and 'as' are optional.
Route::group(['prefix' => 'foods/fruits', 'middleware' => ['jwt.auth'], 'as' => 'fruits.'], function () {
    Route::group(['prefix' => 'apples', 'as' => 'apples.'], function () {
        Route::get('/', ['as' => 'list', 'uses' => 'FruitsController@index']);
        Route::get('{type}', ['as' => 'show', 'uses' => 'FruitsController@show']);
    });
});

$ php artisan route:list

+--------+----------+---------------------------------------+---------------------------------+-----------------------------------------------------------------------------+----------------------------------------------+
| Domain | Method   | URI                                   | Name                            | Action                                                                      | Middleware                                   |
+--------+----------+---------------------------------------+---------------------------------+-----------------------------------------------------------------------------+----------------------------------------------+
|        | GET|HEAD | foods/fruits/apples                   | fruits.apples.list              | App\Http\Controllers\FruitsController@index                                 | jwt.auth                                     |
|        | GET|HEAD | foods/fruits/apples/{type}            | fruits.apples.show              | App\Http\Controllers\FruitsController@show                                  | jwt.auth                                     |
+--------+----------+---------------------------------------+---------------------------------+-----------------------------------------------------------------------------+----------------------------------------------+
0 голосов
/ 10 мая 2018

Я понял это.

Route::get('fooditem/{food}', 'FoodCategoryController@show')
->where('food', '[a-z\_\/]+');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...