Пример создания несвязанного компонента для Yii2
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Пример создания несвязанного компонента для Yii2
О чем вообще спор в данной теме? В Yii очень много проблем, Service Locator не входит в это число, он же повторяет тот же pimple, плюс собственный стиль с массивом (class, properties, setters).
Жду Yii 3!
Re: Пример создания несвязанного компонента для Yii2
противоречия нет. провайдер данных для контейнера может быть в любом виде.slavcodev писал(а):Один из моментов часто ставит меня в замешательство, когда программисты, которые яро требуют SOLID, которые очень хотят true OOP, в том же месте, говорят про DI, настроенный конфигом
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Пример создания несвязанного компонента для Yii2
Ну процитирую тебя же: "можно и грязь есть, и грязными иглами колоться" (как-то так, не помню точно цитату), но если речь о ООП, то и создание объектов вроде как лучше явно делать, и фабрики отлично подходят.
Жду Yii 3!
Re: Пример создания несвязанного компонента для Yii2
это верно. но к солид и ооп это не относится. просто нюанс - способ предоставления данных для DI. Можно конфиг сделать, который в рантайме будет DIC формировать. Можно явно создать какой-то прокси-класс . Можно из конфига кэшировать в прокси, как в симфони делается. Просто нюанс, не нарушающий принципов. Массивами конфигурируются наверное все продукты, поскольку это дружелюбнее к пользователю.slavcodev писал(а):Ну процитирую тебя же: "можно и грязь есть, и грязными иглами колоться" (как-то так, не помню точно цитату), но если речь о ООП, то и создание объектов вроде как лучше явно делать, и фабрики отлично подходят.
- slavcodev
- Сообщения: 3134
- Зарегистрирован: 2009.04.02, 21:42
- Откуда: Valencia
- Контактная информация:
Re: Пример создания несвязанного компонента для Yii2
Не нарушает принципов, просто странно. Дружелюбнее к пользователю, но не программисту. Ну или на крайний случай не всем. Мне точно, чем писать конфиг, парсер конфига, кеш настроенного контейнера, лучше написать класс фабрику, или анонимок, чтоб настроить контейнер, воспользоваться опкешем и have fun.
ЗЫ: Немного тролинга. поставленую задачу нельзя решить SOLIDно. Булевый флаг в конструкторе ($active) не позволит.
ЗЫ: Немного тролинга. поставленую задачу нельзя решить SOLIDно. Булевый флаг в конструкторе ($active) не позволит.
Жду Yii 3!