Маршруты администратора группы Laravel

Есть ли способ четко группировать все маршруты, начиная с 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.

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

Группа маршрутов используется для применения одного или нескольких фильтров к группе маршрутов. То, что вы ищете, это пучки!

Представляем Bundles!

Связки – это то, что вам нужно, по внешнему виду. Создайте новый пакет под названием «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'); }); });