Size: a a a

2020 August 09

DS

Dmitriy S in Yii Framework 3
Можно в пакете ивентов сделать EventConfiguratorInterface и передавать его в кострукторе и там же передавать конфиг листенеров, но тогда мы можем вообще сделать метод attach приватным)
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
билдер контейнера
😱
источник

AM

Alexander Makarov in Yii Framework 3
Dmitriy S
Это самое разумное, потому как открыть метод - это фича, а закрыть - нарушение обратной совместимости)
Удалить "лишний" класс, от которого наследуемся, и конфигуратор впридачу - тоже BC...
источник

А

Алексей R in Yii Framework 3
на самом деле не такое плохое решение. В нём можно было бы скрыть $container = $container->get(Container); :D
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Удалить "лишний" класс, от которого наследуемся, и конфигуратор впридачу - тоже BC...
А конфигуратор не надо удалять, он в любом случае нужен
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
на самом деле не такое плохое решение. В нём можно было бы скрыть $container = $container->get(Container); :D
Какой ценой?
источник

А

Алексей R in Yii Framework 3
Alexander Makarov
Какой ценой?
а какой?
источник

Д

Дмитрий in Yii Framework 3
Почему мы боимся ВС?
источник

Д

Дмитрий in Yii Framework 3
Пока не знаю как правильно, но можно придумать
источник

DS

Dmitriy S in Yii Framework 3
Alexander Makarov
Удалить "лишний" класс, от которого наследуемся, и конфигуратор впридачу - тоже BC...
И абстрактный класс тоже, кстати, можно не удалять, это не обязательно для того чтобы сделать метод публичным. Так что открытие метода не ломает BC
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
а какой?
Я уже много раз говорил что компилируемый контейнер - это кошмар для отладки.
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
Почему мы боимся ВС?
Да не боимся. Просто в релиз не хочется тащить интерефейсы, которые очень вероятно придётся ломать.
источник

А

Алексей R in Yii Framework 3
Alexander Makarov
Я уже много раз говорил что компилируемый контейнер - это кошмар для отладки.
а разве билдер как-то завязан на компиляцию?
источник

А

Алексей R in Yii Framework 3
тут смысл такой, что ты билдер конфижишь, а потом в конце вызываешь build(): ContainerInterface и получаешь неконфигурируемый контейнер
источник

А

Алексей R in Yii Framework 3
как итог: контейнер в рантайме не конфижится, стадия конфигурирования отделена, можно скрыть демотивирующий код
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
а разве билдер как-то завязан на компиляцию?
Билдер не работает с контейнером.
источник

AM

Alexander Makarov in Yii Framework 3
Если ты про config plugin.
источник

AM

Alexander Makarov in Yii Framework 3
Алексей R
тут смысл такой, что ты билдер конфижишь, а потом в конце вызываешь build(): ContainerInterface и получаешь неконфигурируемый контейнер
А... ты в этом смысле.
источник

AM

Alexander Makarov in Yii Framework 3
Так примерно сейчас и сделано.
источник

А

Алексей R in Yii Framework 3
Alexander Makarov
Так примерно сейчас и сделано.
ну вот не совсем ) был бы честный билдер, то этот ПР не возник бы https://github.com/yiisoft/app/pull/39
источник