Есть ли способ четко группировать все маршруты, начиная с admin/
? Я пробовал что-то вроде этого, но это не сработало:
Route::group('admin', function() { Route::get('something', array('uses' => 'mycontroller@index')); Route::get('another', array('uses' => 'mycontroller@second')); Route::get('foo', array('uses' => 'mycontroller@bar')); });
В соответствии с этими маршрутами:
admin/something admin/another admin/foo
-admin/something admin/another admin/foo
Я могу, конечно, просто префикс всех этих маршрутов напрямую с помощью admin/
, но я хотел бы знать, можно ли сделать это по- своему .
Благодаря!
К сожалению нет. Группы маршрутов не были предназначены для такой работы. Это взято из документов Laravel.
Группы маршрутов позволяют вам прикрепить набор атрибутов к группе маршрутов, что позволит вам сохранить ваш код аккуратным и аккуратным.
Группа маршрутов используется для применения одного или нескольких фильтров к группе маршрутов. То, что вы ищете, это пучки!
Связки – это то, что вам нужно, по внешнему виду. Создайте новый пакет под названием «admin» в каталоге ваших пакетов и зарегистрируйте его в файле application / bundles.php как нечто вроде этого:
'admin' => array( 'handles' => 'admin' )
Ключ ручек позволяет вам изменить, на какой URI будет реагировать пакет. Таким образом, в этом случае вызовы администратора будут выполняться через этот пакет. Затем в вашем новом пакете создайте файл route.php, и вы можете зарегистрировать обработчик, используя (: bundle) placeholder.
// Inside your bundles routes.php file. Route::get('(:bundle)', function() { return 'This is the admin home page.'; }); Route::get('(:bundle)/users', function() { return 'This responds to yoursite.com/admin/users'; });
Надеюсь, это даст вам некоторые идеи.
В Laravel 4
теперь вы можете использовать prefix
:
Route::group(['prefix' => 'admin'], function() { Route::get('something', 'mycontroller@index'); Route::get('another', function() { return 'Another routing'; }); Route::get('foo', function() { return Response::make('BARRRRR', 200); }); Route::get('bazz', function() { return View::make('bazztemplate'); }); });