2014-12-08 2 views
3

Я работаю с laravel 4 в течение некоторого времени, и мне нужно было создать административную область, поэтому я решил использовать пакет, чтобы все вещи были организованы и отделены от остальной части приложения.laravel 4 workbench маршрутизация в пакет

Итак, я создал пакет с композитором как «поставщик/админ».

затем я добавил эти строки в documemented на Laravel сайте

AdminServiceProvider.php

public function boot() 
    { 
     $this->package('vendor/admin', 'admin'); 
     include __DIR__.'/../../routes.php'; 
} 


public function register() 
    { 
     // 
     $this->package('vendor/admin'); 

    } 

Я также создал routes.php файл в vedor/администратора каталога/маршрутизировать все админки в этот файл.

следующий я запустить «php artisan dump-autoload» и я завершил с этим воздает на мастеровом «php artisan config:publish vendor/admin»

Теперь я хочу иметь возможность использовать этот пакет для mysite.com/admin маршрута и я хочу routes.php файла пакет, чтобы сделать маршрутизацию для этого URI, чтобы сделать это:

  1. мне нужно изменить мое приложение/routes.php ли?
  2. Как я могу сделать файл vendor/admin/src/routes.php для маршрутизации для всех маршрутов mysite.com/admin?

Спасибо.

ответ

1

Нет, вам не нужно редактировать app/routes.php. Пока он не содержит никаких маршрутов, которые могут столкнуться с таковыми в вашем пакете, вы можете оставить его таким образом.

Файл маршрутов в пакете может использоваться как «нормальный» app/routes.php. Простой способ борьбы с admin маршрутов иметь префикс группы:

Route::group(array('prefix' => 'admin'), function(){ 
    // all your admin routes. for example: 
    Route::get('dashboard', '...'); 
    // will match GET /admin/dashboard 
}); 

Кроме того, убедитесь, что вы пакет получает загружен правильно! Одна часть - , регистрирующая поставщика услуг. Предполагая, что пространство имен вашего пакета равно Admin, вам необходимо добавить Admin\AdminServiceProvider в список поставщиков в app/config/app.php. More information

+0

это то, что есть Route :: группы (массив ('префикс' => 'админ'), функция() {// все ваши администратора маршрутов, например: Route :: получить ('/'. , function() { return 'вы находитесь в зоне администратора'; }); // будет соответствовать GET/admin/dashboard }); но он бросает «метод контроллера не найден». Я предполагаю, что он не использует мои маршруты.php в пакете –

+0

У вас есть другой маршрут администратора внутри 'app/routes.php'? – lukasgeiter

+0

Нет, ничего на этом пути. –

Смежные вопросы