IT заметки по программированию
IT заметки по программированию
IT заметки по программированию
IT заметки по программированию

Различия между boot и register методами в ServiceProvider классах в Laravel

Сначала провайдеры регистрируются, а потом загружаются — запуск метода boot().

Распространенная ошибка при использовании поставщиков услуг — это попытка использовать услуги, предоставляемые другим поставщиком, в методе регистрации.

Поскольку в рамках метода регистрации у нас нет гарантии, что все остальные поставщики были загружены, услуга, которую вы пытаетесь использовать, может быть еще недоступна.

Таким образом, код поставщика услуг, использующий другие службы, всегда должен находиться в методе загрузки.

Метод register() следует использовать только, для регистрации сервисов в контейнере.

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

Так что register() предназначен только для привязки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *