Size: a a a

2020 October 01

VI

Vadim Isaenko in PHP
Для чего нужны DTO?
источник

VI

Vadim Isaenko in PHP
Для тайпхинтинга?
источник

АГ

Алексей Гевондян... in PHP
чтобы не разгребать в коде вот так вот, как на картинке выше, входные данные.
источник

АГ

Алексей Гевондян... in PHP
Vadim Isaenko
Для тайпхинтинга?
ну грубо говоря да
источник

VI

Vadim Isaenko in PHP
А их и не нужно разгребать если используется коллекция параметров...
источник

VI

Vadim Isaenko in PHP
Взяли параметр по ключу. Если его нет - Exception.
источник

АГ

Алексей Гевондян... in PHP
не понятно что на входе. хочется, чтобы на входе была уже готовая ДТО-шка, а этот вот резолвинг вынести куда-нибудь.
источник

АГ

Алексей Гевондян... in PHP
там по сути, где-то может 5-10 ДТО-шек надо. а классов обработчиков уже порядка 30 собралось...
источник

АГ

Алексей Гевондян... in PHP
и везде эта портянка из присвоений переменных с пхпдок-подсказками
источник

АГ

Алексей Гевондян... in PHP
паттерн аргумент резолвер короче) только как-нибудь без заморочек бы...
источник

АГ

Алексей Гевондян... in PHP
чувствую задача нерешаемая, без пхпдок подсказок, пусть и на уровне классов, не получится обойтись.
источник

VI

Vadim Isaenko in PHP
Не совсем понимаю для чего мешать ответственности. DTO - переносимый объект, там могут быть и null. Если логика вашей реализации подразумевает, что для каких-то свойств не должно быть null, то это отдельный слой - DTO builder или Validator, это не ответсвенность Calculator.
источник

AL

Anton Lakotka in PHP
дай реальных кейсов
источник

АГ

Алексей Гевондян... in PHP
вот как раз задача состоит в том, чтобы состряпать такой билдер...
источник

AL

Anton Lakotka in PHP
мне так проще будет сообразить иначе говорить об абстрактном, при этом про реальность знаешь только ты -- крайне затруднительно
источник

AL

Anton Lakotka in PHP
это не задача
источник

AL

Anton Lakotka in PHP
реальная
источник

АГ

Алексей Гевондян... in PHP
Anton Lakotka
дай реальных кейсов
ну у нас тут скажем так - конструктор формул для расчета неких бизнес-показателей, по различной логике. тут без вникания в область не получится объяснить
источник

АГ

Алексей Гевондян... in PHP
часть решается формулами, на часть расчетов харкод классы пишутся, т.к. через заложенный механизм нельзя посчитать. надо реализовывать вручную
источник

AL

Anton Lakotka in PHP
ок формулы.  любая формула состоит из переменных и операций над ними
источник