Size: a a a

2021 April 27

Ю

Юра in PHP
Типа прокинуть контейнер и из него получать зависимости?
источник

SM

Sergey Milimko in PHP
Да. Если такое нравится конечно.
источник

Ю

Юра in PHP
Ну нравится, но это считается плохой практикой, вот поэтому и решил спросить как остальные делают
источник

SM

Sergey Milimko in PHP
Да. Это усложняет код
источник

SM

Sergey Milimko in PHP
А у тебя там на проекте ддд или стандартное мессиво?
источник

Ю

Юра in PHP
Стандартное
источник

SM

Sergey Milimko in PHP
Тогда можешь вызвать этот контейнер прямо из фабрики как синглтон. Главное чтобы можно было потом это протестировать
источник

SM

Sergey Milimko in PHP
Реализация зависит от фрэймворки. Можно вообще абстрагироваться от фрэймворка и сделать глобальный врапер для контейнера и его дергать уже
источник

Ю

Юра in PHP
У меня так и сделано, а как правильно, если считается плохой практикой использовать контейнер как зависимость?
источник

SM

Sergey Milimko in PHP
Я выше написал же. Т.е. ты не передаёт контейнер в фабрику, а просто изнутри фабрики его через врапер вызываешь
источник

SP

Sergey Protko in PHP
Да, в этом смысл фабрик
источник

SP

Sergey Protko in PHP
Если тебе надо по разному делать - сочетаешь с другими паттернами
источник

SP

Sergey Protko in PHP
Стратегии для фабрик, каждая будет со своими зависимостями
источник

SP

Sergey Protko in PHP
Контейнер инджетить никогда не нужно (разве что кусочки а не целиком)
источник

Ю

Юра in PHP
Ну тогда получается оверхед. Создаются все инстансы, а фабрика возвращает только один. Просто с этим смириться?)
источник

SP

Sergey Protko in PHP
Есть lazy сервисы которые будут инициированы если ты дернешь у них метод. Но если речь идёт о десятке сервисов то оверхэд от проксей может быть сравним
источник

SP

Sergey Protko in PHP
Если тебя такие вещи парят то рассмотри вариант при котором симфони не умирает после каждого запроса :)
источник

Ю

Юра in PHP
У меня yii2
источник

Ю

Юра in PHP
Ну в целом я понял. Спасибо за ответы
источник
2021 April 28

VC

Vladimir Chernyshev in PHP
странный под ход к фабрике )) Её суть в том, чтобы вынести в неё new Product()
источник