Laravel модульный подход работает медленно - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь использовать отложенный сервис-провайдер для регистрации интерфейсов и репозиториев только тогда, когда они необходимы, так как регистрируют их каждый раз, когда загрузка приложения создает большую нагрузку на мой сервер.

Я использую этот пакет для laravel модульного подхода.

Если я загружаю все такие зависимости (у меня есть около 6 интерфейсов и репозиториев для этого модуля c):

$this->app->bind(AppointmentsRepositoryInterface::class, AppointmentsRepository::class);

Все работает, но, учитывая, что есть другие модули время загрузки увеличилось с 200 до 1600 мс. Я выполнил всю индексацию в моей базе данных, все сценарии были минимизированы и оптимизированы, а также прошел laravel советы по оптимизации.

При использовании отложенного метода

class HematologyServiceProvider extends ServiceProvider implements DeferrableProvider {
   //... a lot more code       

   public function register() {
      $this->app->bind(AppointmentsRepositoryInterface::class, AppointmentsRepository::class);
   }

    public function provides() {
        return [
            AppointmentsRepositoryInterface::class,
        ];
    }

    //... a lot more code
}

После выполнения поэтому я получаю [] is not insatiable ... ошибку. Как я могу использовать этот интерфейс, только когда, например, контроллер или это пространство имен запущены?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...