Size: a a a

2021 January 26

AM

Alexander Makarov in Yii Framework 3
Ну и производительность у прокси динамических, по идее, будет хромать.
источник

AM

Alexander Makarov in Yii Framework 3
У конкретных она норм, но генерить их — это фу. Потом в отладке утонешь.
источник

Д

Дмитрий in Yii Framework 3
Dmitriy S
Чудны дела твои, господи) Я вижу, ты прям излагаешь мою концепцию модульных контейнеров, которую прошлый раз считал ненужной)
Так я просто рассказал, как оно работает (или будет работать).
источник

AB

Alexander Borisov in Yii Framework 3
Я правильно понял, что доп. контейнеры будут использоваться в том числе и для биндинга? Т.е. если нужен один логер, описываем сервис в одном контейнере, если другой - то в другом? Или это просто сайдэффект и для этого будут другие инструменты?
источник

Д

Дмитрий in Yii Framework 3
Ну можно общий сделать, а можно и уточнить для модуля. Как переопределить для модуля кеш или логи хз пока.
источник

AB

Alexander Borisov in Yii Framework 3
А с одним контейнером как биндинги делать?
источник

AM

Alexander Makarov in Yii Framework 3
Alexander Borisov
А с одним контейнером как биндинги делать?
Сейчас никак.
источник

AM

Alexander Makarov in Yii Framework 3
У контейнера PSR-ного нет контекста на тему кто и откуда просит сервис.
источник

AB

Alexander Borisov in Yii Framework 3
Так это больше про описание сервисов, чем получение
источник

AM

Alexander Makarov in Yii Framework 3
А разве нам не надо знать контекст чтобы получить сервис для него?
источник

AB

Alexander Borisov in Yii Framework 3
https://symfony.com/blog/new-in-symfony-3-4-local-service-binding - я вот про нечто вроде этого
источник

AM

Alexander Makarov in Yii Framework 3
Но вообще сейчас это обходится через явный конфиг:

BlaBlaInterface::class => [
  '__class' => BlaBla::class,
 '__construct()' => ['contextualDependency' => Referece::to('specific')],
]
источник

AM

Alexander Makarov in Yii Framework 3
Дефолты — какая-то шляпа.
источник

AM

Alexander Makarov in Yii Framework 3
Я думал contextual binding это когда разные инстансы одного интерфейса рассовываются по разным сервисам с разными контекстами.
источник

AM

Alexander Makarov in Yii Framework 3
А по ссылке что-то на вид относительно бесполезное...
источник

AM

Alexander Makarov in Yii Framework 3
Технически реализовать не сложно, но я не понимаю смысла.
источник

AB

Alexander Borisov in Yii Framework 3
Ну вот в ларавеле под этим почти тоже самое подразумевается: https://laravel.com/docs/8.x/container#contextual-binding
источник

AM

Alexander Makarov in Yii Framework 3
Sometimes you may have two classes that utilize the same interface, but you wish to inject different implementations into each class.
источник

AM

Alexander Makarov in Yii Framework 3
ну, вот это уже ближе
источник

AB

Alexander Borisov in Yii Framework 3
дык в примере симфони тоже самое
источник