Карточка Middle Laravel: контейнер и очереди обновлено

register и boot в сервис-провайдере

Вопрос

Чем метод register отличается от boot в сервис-провайдере?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

register: только привязки в контейнер (bind, singleton). Другие сервисы могут быть ещё не зарегистрированы, обращаться к ним нельзя. boot: вызывается после регистрации всех провайдеров.

Ответ

register: только привязки в контейнер (bind, singleton). Другие сервисы могут быть ещё не зарегистрированы, обращаться к ним нельзя. boot: вызывается после регистрации всех провайдеров. Здесь можно использовать любые сервисы: регистрировать слушатели событий, маршруты, макросы, наблюдателей моделей, политики.

Разбор

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

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.