Там можно глобалочку зафигачить, как с dd()😉 Будет getFromContainer(), invoke(), createObject() @samdark так вон прямо так и заявил, даешь контейнер в глобальных функциях!😂
Там можно глобалочку зафигачить, как с dd()😉 Будет getFromContainer(), invoke(), createObject() @samdark так вон прямо так и заявил, даешь контейнер в глобальных функциях!😂
В С не нужно создавать D через $container->get(D::class), как во многих случаях не нужно делать этого было и в yii2. Если тебе в С нужнен D, то поставь его зависимостью в конструкторе и сохрани в приватную переменную. Для конроллеров также можно ставить зависимости и в параметрах экшинов, они тоже будут разрешены через контейнер.
Есть кейсы когда нужно именно создавать объекты.
Допустим, у меня в классе создаётся десяток записей в лог. Без использования контейнера я их создаю через new и закидываю в метод $log->append($logRecord).
Зависимостью в конструкторе от LogRecord этот кейс не решается...
Допустим, у меня в классе создаётся десяток записей в лог. Без использования контейнера я их создаю через new и закидываю в метод $log->append($logRecord).
Зависимостью в конструкторе от LogRecord этот кейс не решается...
Я не беру простейшие случаи когда весь проект жёстко завязан на фреймворк. Я хочу, чтобы зависимость кода от фреймворка была минимальная, а также чтобы тестировать код доменной области можно было вообще без фреймворка.
Там можно глобалочку зафигачить, как с dd()😉 Будет getFromContainer(), invoke(), createObject() @samdark так вон прямо так и заявил, даешь контейнер в глобальных функциях!😂