Как зарегистрировать 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);
}
→ Ссылка