Различия между boot и register методами в ServiceProvider классах в Laravel
Сначала провайдеры регистрируются, а потом загружаются — запуск метода boot().
Распространенная ошибка при использовании поставщиков услуг — это попытка использовать услуги, предоставляемые другим поставщиком, в методе регистрации.
Поскольку в рамках метода регистрации у нас нет гарантии, что все остальные поставщики были загружены, услуга, которую вы пытаетесь использовать, может быть еще недоступна.
Таким образом, код поставщика услуг, использующий другие службы, всегда должен находиться в методе загрузки.
Метод register() следует использовать только, для регистрации сервисов в контейнере.
В рамках метода загрузки можно делать все, что захотите: регистрировать прослушиватели событий, включать файл маршрутов, регистрировать фильтры и так далее.
Так что register() предназначен только для привязки.
Recommended Posts
Не работает autocomplete в моделях Laravel
01.02.2022