Size: a a a

2021 January 24

D

Dmitry in symfony
Pavel Rodionov
ну таки я тоже хочу уйти от аннотаций. Я уже чекнул, можно было бы их в интерфейсы перенести, но наследование не работает)

ищу вот как из nelmio выгрузить json/yaml
гуглите, nelmio export to json - есть один форк в котором реализован toJson метод
или может уже даже перенесли его в мастер
источник

D

Dmitry in symfony
Господа. Вопрос на поговорить.

Есть человек, кошка и чемодан. Это типы объектов.
И есть турникет через который эти объекты могут проходить.
Кто должен решать можно ли пройти?
1. Турникет знает о кошке человеке и чемодане. Он сам решает можно ли им приходить. Тогда ему нужно знать все свойства того кто проходит что нарушит инкапсуляцию.
2. Сами объекты знают о турникете и говорят ему - мы тут можем пройти. Многовато ответственности для объекта
3. Некий медиатор который будет полностью все знать об объекте и турникете и решать. Нарушение инкапсуляции ?
источник

DD

Dima Denisov in symfony
Dmitry
Господа. Вопрос на поговорить.

Есть человек, кошка и чемодан. Это типы объектов.
И есть турникет через который эти объекты могут проходить.
Кто должен решать можно ли пройти?
1. Турникет знает о кошке человеке и чемодане. Он сам решает можно ли им приходить. Тогда ему нужно знать все свойства того кто проходит что нарушит инкапсуляцию.
2. Сами объекты знают о турникете и говорят ему - мы тут можем пройти. Многовато ответственности для объекта
3. Некий медиатор который будет полностью все знать об объекте и турникете и решать. Нарушение инкапсуляции ?
Что значит пропустить? Изменить свойство объектов кошка/чемодан или что?
источник

D

Dmitry in symfony
Пропустить значит решит - подходит или нет. Для чего либо. В данном случае для прохода через турникет
источник

I<

Ivan <Chi> in symfony
Dima Denisov
Что значит пропустить? Изменить свойство объектов кошка/чемодан или что?
Скорей всего просто bool вычислить. Что-то вроде isApplicable()
источник

D

Dmitry in symfony
Ivan
Скорей всего просто bool вычислить. Что-то вроде isApplicable()
Ага. Типа того.
источник

DD

Dima Denisov in symfony
Решает все равно турникет. Чемоданов/кошек может быть много -  зеленые, синии, без хвоста.
источник

I<

Ivan <Chi> in symfony
Объекты могут сами это решать если им не требуется для этого каких то внешних сервисов.
источник

I<

Ivan <Chi> in symfony
ну или Visitor pattern
источник

DD

Dima Denisov in symfony
Все равно из этой троицы каждый будет знать необъодимые свойства другого объекта, тут никак по другому не будет
источник

I<

Ivan <Chi> in symfony
так зачем им чужие свойства знать?
источник

DD

Dima Denisov in symfony
Турникетов может быть много, и они все разные.
источник

DD

Dima Denisov in symfony
Свойства же объектов кошка/чемодан однозначные, и врядли будут дополняться.
источник

D

Dmitry in symfony
Так и кошек чемоданов может быть много
источник

D

Dmitry in symfony
Это мени ту мени
источник

D

Dmitry in symfony
И у всех свои разные свойства
источник

DD

Dima Denisov in symfony
Не-не-не, у кошек свойтсва одни и те же, параметры свойств разные
источник

DD

Dima Denisov in symfony
Леопард - большая пятниствая кошка. Размер - большой, окрас - пятнистый
источник

D

Dmitry in symfony
Ага а чемодан ?
источник

D

Dmitry in symfony
А тележка ?
источник