2016-03-13 6 views
2

Я создал специальный пакет, соответствующий документации. (https://laravel.com/docs/5.2/packages#routing)Laravel 5.2 нестандартный маршрут пакета не найден

Я добавил маршрут в файл настраиваемых маршрутов, он появляется при проверке с помощью «php artisan route: list», но я получаю NotFoundHttpException.

Я использовал «php artisan route: clear», чтобы очистить кеш маршрутов, но проблема не устранена.

Если я добавлю маршрут в основные файлы маршрутов приложений, все будет хорошо.

Поставщик услуг:

/** 
* Bootstrap the application services. 
* 
* @return void 
*/ 
public function boot() 
{ 
    $this->publishes([ 
     __DIR__ . '/../database/migrations/' => database_path('migrations') 
    ], 'migrations'); 

    if (! $this->app->routesAreCached()) { 
     require __DIR__.'/../Http/routes.php'; 
    } 
} 

Пользовательские маршруты файла:

Route::get('foo', function() { 
    return 'Hello World'; 
}); 
+0

У меня такая же проблема, вы нашли решение? – 4givN

ответ

0

Для Informatie вы даете здесь я не могу просто дать четкий ответ.

Если ваша структура пакета, как это

PackageMainDir 
    - src 
    - Controllers 
    - Migrations 
    - Models 
    PackageServiceProvider.php 
    Routes.php 
    - test 
    - vendor 
    composer.json 
    phpunit.xml 

Вы будете иметь в своем PackageServiceProvider.php следующий код:

/** 
* Bootstrap the application services. 
* 
* @return void 
*/ 
public function boot() 
{ 
    $this->publishes([ 
     realpath(__DIR__.'/Migrations') => $this->getDatabasePath().'/migrations', 
    ]); 

    if (! $this->app->routesAreCached()) { 
     require_once(__DIR__ . '/Routes.php'); 
    } 
} 

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

0

Решил это, я не знаю, почему, но после попытки php artisan config:cache были учтены изменения в config/app.php, а пользовательский поставщик услуг загрузил метод boot().

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