Size: a a a

2020 March 02

DS

Dmitriy S in Yii Framework 3
Дмитрий
а если будут использовать не yii/di контейнер?
А вообще ты не те вопросы задаешь, это не сильно существенно, больше помогает новичкам не путаться. Я без проблем могу вернуть публичный конструктор в контейнер, работоспособность и функциоанал от этого не поменяются.
источник

Д

Дмитрий in Yii Framework 3
Dmitriy S
А вообще ты не те вопросы задаешь, это не сильно существенно, больше помогает новичкам не путаться. Я без проблем могу вернуть публичный конструктор в контейнер, работоспособность и функциоанал от этого не поменяются.
по гляну в ide получще)
источник

DS

Dmitriy S in Yii Framework 3
Кроме того, на билдер не только прокси можно повесить, а и другие вещи. Например, кеширование контейнера, настройка автоваеринга в целом и в частности и т.д.
источник

AM

Alexander Makarov in Yii Framework 3
Это норм, но один из плюсов отсутствия билдера — его отсутствие...
источник

AM

Alexander Makarov in Yii Framework 3
По опыту разработки на Symfony могу сказать что билдер и compiler pass - зло. Когда выполняется не то, что ты написал, а что-то сгенерённое и сдампленное, неизбежны проблемы с отладкой (сложнее) и рефрешем (дорого в дев-режиме). В Symfony без него не получилось, но я более чем уверен, что без этого можно обойтись.
источник

Д

Дмитрий in Yii Framework 3
@yiiliveext так, я передумал) там всё еще туча кода, который мало структурирован даже.
давай бить pr на части, если $parentContainer решает проблему композитного контейнера - го лить, но только если в $parentContainer можно подставить любой другой контейнер и он будет работать.
про декораторы - давай, но выдели только нужны файлы в pr.
иначе ревьювить как-то адово...
источник

Д

Дмитрий in Yii Framework 3
Alexander Makarov
По опыту разработки на Symfony могу сказать что билдер и compiler pass - зло. Когда выполняется не то, что ты написал, а что-то сгенерённое и сдампленное, неизбежны проблемы с отладкой (сложнее) и рефрешем (дорого в дев-режиме). В Symfony без него не получилось, но я более чем уверен, что без этого можно обойтись.
билдер дает неограниченное количество возможностей. я думаю, он нужен. вопрос реализации
источник

DS

Dmitriy S in Yii Framework 3
Дмитрий
@yiiliveext так, я передумал) там всё еще туча кода, который мало структурирован даже.
давай бить pr на части, если $parentContainer решает проблему композитного контейнера - го лить, но только если в $parentContainer можно подставить любой другой контейнер и он будет работать.
про декораторы - давай, но выдели только нужны файлы в pr.
иначе ревьювить как-то адово...
Да, $parentContainer решает проблему композитного контейнера. Нет не любой, потому что сам Di/Container не является полностью совместимым с PSR-11. Туда только совместимые с ним контейнеры можно родителем поставить, например Di/CompositeContainer, Factory/Factory, Di/Container
источник

DS

Dmitriy S in Yii Framework 3
По декораторам - они не являются частью контейнера и их лучше выделить в отдельный пакет.
источник

AM

Alexander Makarov in Yii Framework 3
Dmitriy S
По декораторам - они не являются частью контейнера и их лучше выделить в отдельный пакет.
Они ведь нужны только дебаггеру...
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Они ведь нужны только дебаггеру...
Нет, у них куча применений. Они прекрасно работают без дебагера, так же как и коллекторы, поэтому я и предлагаю вынести их в отдельный пакеты.
источник

AM

Alexander Makarov in Yii Framework 3
Для чего они нужны кроме дебаггера?
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Для чего они нужны кроме дебаггера?
1. Кастомное логирование кода, в том числе и сторонних компонентов, без внесения изменений в код.
2. Мониторинг производительности приложения в разрезе сервисов/запросов/роутов и т.д.
3. Быстрое декорирование отдельных методов сервисов с настройкой в конфиге (куча применений).
4. Подключение сторонних сервисов к контейнеру, например, кеширование.
источник

AM

Alexander Makarov in Yii Framework 3
AOP короче...
источник

AM

Alexander Makarov in Yii Framework 3
Хм хм хм...
источник

DS

Dmitriy S in Yii Framework 3
Я не совсем понимаю в чем проблема выделить мне несколько пакетов, чтобы я мог собрать рабочую версию из них и что-то там по-тихоньку допиливать. Запланированного функционала там еще много.
источник

AM

Alexander Makarov in Yii Framework 3
Да с концептом немного проблема.
источник

AM

Alexander Makarov in Yii Framework 3
Выкидывать события и логировать все вызовы всех методов — сильно перебор.
источник

AM

Alexander Makarov in Yii Framework 3
Чтобы не все — это надо конфижить.
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Выкидывать события и логировать все вызовы всех методов — сильно перебор.
Там можно выборочно делать вплоть до отдельных методов отдельных сервисов.
источник