Как зарегистрировать service providers laravel 7xx только для веб роутов
Я использую laravel voyager для создания панели администратора. У этого пакета есть несколько поставщиков услуг в composer.json.
"дополнительные": {
"лараевел": {
"провайдеры": [
"ТЦГ\\Вояжор\\ВояжорПоставщикУслуг",
"ТЦГ\\Вояжор\\Поставщики\\ВояжорМанекенПоставщикУслуг"
]
}
}
Я запретил загрузку этих поставщиков в свой composer.json
"дополнительные": {
"лараевел": {
"не открывай": [
"тцг/вояжор"
]
}
},
Я сделал это, потому что эти провайдеры делают 2 запроса БД на каждый запрос к моим маршрутам api (30-40 мс). Я не использую никаких функций voyager при использовании маршрутов api, но теперь я не могу включать этих провайдеров вручную только для веб-маршрутов.
** Как я могу загрузить поставщиков пакетных услуг только для веб-маршрутов? **
Ответы (1 шт):
Автор решения: BerriesInPants
→ Ссылка
Спасибо за ответы. Я просто добавил это в AppServiceProvider:
if (!Request::createFromGlobals()->is('api/*')) {
$this->app->register(\TCG\Voyager\VoyagerServiceProvider::class);
}