Пример создания несвязанного компонента для Yii2

Обсуждение документации второй версии фреймворка. Переводы Cookbook и авторские рецепты.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Пример создания несвязанного компонента для Yii2

Сообщение slavcodev »

О чем вообще спор в данной теме? В Yii очень много проблем, Service Locator не входит в это число, он же повторяет тот же pimple, плюс собственный стиль с массивом (class, properties, setters).
Жду Yii 3!
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Пример создания несвязанного компонента для Yii2

Сообщение zelenin »

slavcodev писал(а):Один из моментов часто ставит меня в замешательство, когда программисты, которые яро требуют SOLID, которые очень хотят true OOP, в том же месте, говорят про DI, настроенный конфигом :(
противоречия нет. провайдер данных для контейнера может быть в любом виде.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Пример создания несвязанного компонента для Yii2

Сообщение slavcodev »

Ну процитирую тебя же: "можно и грязь есть, и грязными иглами колоться" (как-то так, не помню точно цитату), но если речь о ООП, то и создание объектов вроде как лучше явно делать, и фабрики отлично подходят.
Жду Yii 3!
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Пример создания несвязанного компонента для Yii2

Сообщение zelenin »

slavcodev писал(а):Ну процитирую тебя же: "можно и грязь есть, и грязными иглами колоться" (как-то так, не помню точно цитату), но если речь о ООП, то и создание объектов вроде как лучше явно делать, и фабрики отлично подходят.
это верно. но к солид и ооп это не относится. просто нюанс - способ предоставления данных для DI. Можно конфиг сделать, который в рантайме будет DIC формировать. Можно явно создать какой-то прокси-класс . Можно из конфига кэшировать в прокси, как в симфони делается. Просто нюанс, не нарушающий принципов. Массивами конфигурируются наверное все продукты, поскольку это дружелюбнее к пользователю.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Пример создания несвязанного компонента для Yii2

Сообщение slavcodev »

Не нарушает принципов, просто странно. Дружелюбнее к пользователю, но не программисту. Ну или на крайний случай не всем. Мне точно, чем писать конфиг, парсер конфига, кеш настроенного контейнера, лучше написать класс фабрику, или анонимок, чтоб настроить контейнер, воспользоваться опкешем и have fun.

ЗЫ: Немного тролинга. поставленую задачу нельзя решить SOLIDно. Булевый флаг в конструкторе ($active) не позволит.
Жду Yii 3!
Ответить