Laravel pre-compiles определенные классы, которые используются в основном по каждому запросу. Это служит для оптимизации производительности. Файлы для компиляции могут быть указаны в config/compile.php
под кодом files
. default one выглядит следующим образом:
'files' => [
realpath(__DIR__.'/../app/Providers/AppServiceProvider.php'),
realpath(__DIR__.'/../app/Providers/BusServiceProvider.php'),
realpath(__DIR__.'/../app/Providers/ConfigServiceProvider.php'),
realpath(__DIR__.'/../app/Providers/EventServiceProvider.php'),
realpath(__DIR__.'/../app/Providers/RouteServiceProvider.php'),
],
При запуске php artisan optimize
, когда отладка не включена (или с помощью опции --force
) Эти перечисленные файлы и другие каркасные классы будут записаны storage/framework/compiled.php
.
Это означает, что если вы измените один из этих файлов скомпилированных, изменения не будут применены немедленно (если compiled.php
существует), но только после того, как вы запустите php artisan optimize
еще раз или после того, как вы запустите php artisan clear-compiled
очистить файл compiled.php
.
Конечно, вы также можете удалить AppServiceProvider
из списка в качестве альтернативного решения.
Если поставщик услуг зарегистрирован в 'config/app.php', он должен быть вызван. Чтобы сказать больше, мне нужно увидеть ваш код – lukasgeiter
Этот провайдер находится в Laravel как поставщик по умолчанию, я имею в виду, что этот провайдер не мой, я просто попытался добавить в него еще несколько связок. –
Мне это хорошо известно. – lukasgeiter