#laravel #laravel-routing
#laravel #laravel-маршрутизация
Вопрос:
Я создаю модуль для Laravel, и для удобства повторного использования я создаю его как отдельный модуль composer.
В этом модуле я должен определить универсальный маршрут, но я не хочу, чтобы он переопределял какой-либо из добавленных вручную маршрутов в проекте.
У кого-нибудь есть хорошая идея, как я могу добиться такого поведения?
Я регистрирую свой маршрут в методе ServiceProviders boot () следующим образом:
public function boot()
{
$this->loadMigrationsFrom(__DIR__.'/migrations');
$this->loadRoutesFrom(__DIR__.'/routes/routes.php');
}
и routes.php также довольно просто:
$regex = ".*";
Route::namespace('Asator\Runepost\Controllers')
->middleware(['web', DynamicContent::class])
->group(function($route) use ($regex) {
$route->any('{any}', 'RunepostFrontController')->where('any', $regex);
});
Возможно ли каким-либо образом добавить маршрут в качестве последнего маршрута после запуска добавленных вручную маршрутов?
Ответ №1:
Просто добавьте ServiceProvider вашего модуля после RouteServiceProvider приложения в config/app.php и убедитесь, что ваш универсальный маршрут является последним маршрутом маршрутов вашего модуля.
Комментарии:
1. о да, это могло бы сработать, спасибо 🙂 Я использую автоматическое обнаружение в composer.json, знаете ли вы способ расставить приоритеты при его обнаружении? В противном случае мне просто придется добавить его вручную, это было бы просто здорово, если это возможно 🙂
2. Смотрите сообщение Тейлора medium о том, как отключить автоматическое обнаружение для определенных пакетов: medium.com/@taylorotwell /…