Вопросы с собеседований по PHP и ответы на них.
По рекламе: @tproger_sales_bot
Учиться у нас: clc.to/5JWKxA
Для обратной связи: @proglibrary_feeedback_bot
Post #1195
1.02K
❓ Как работает Service Container в Laravel и зачем он нужен?
Это IoC-контейнер, который управляет зависимостями и их разрешением. Главная задача — инверсия управления: ты не создаёшь объекты через new, а просишь контейнер их предоставить.
Работает в два шага: binding и resolving.
Когда ты тайпхинтишь зависимость в конструкторе контроллера, контейнер видит это через Reflection API и автоматически подтягивает нужные классы, рекурсивно разрешая все вложенные зависимости.
Есть три вида байндингов
bind — новый инстанс при каждом резолве
singleton — один инстанс на весь request lifecycle
instance — регистрируешь уже созданный объект
Это IoC-контейнер, который управляет зависимостями и их разрешением. Главная задача — инверсия управления: ты не создаёшь объекты через new, а просишь контейнер их предоставить.
Работает в два шага: binding и resolving.
// Binding — регистрируем, как создавать
app()->bind(PaymentInterface::class, StripePayment::class);
// Resolving — контейнер сам строит граф зависимостей
$payment = app(PaymentInterface::class);
Когда ты тайпхинтишь зависимость в конструкторе контроллера, контейнер видит это через Reflection API и автоматически подтягивает нужные классы, рекурсивно разрешая все вложенные зависимости.
Есть три вида байндингов
bind — новый инстанс при каждом резолве
singleton — один инстанс на весь request lifecycle
instance — регистрируешь уже созданный объект
- 🔥 4
- ❤ 1
- 👍 1

