Size: a a a

2021 March 22

VM

Volodymyr Melko in symfony
Anton K.
эти методы уже как синтаксический сахар к set/get gender
почему? они нужны как раз, чтоб не делать сеттер и не городить проверку на совпадение с константой
источник

AK

Anton K. in symfony
Volodymyr Melko
почему? они нужны как раз, чтоб не делать сеттер и не городить проверку на совпадение с константой
а если мы например захотим засетить значение через обычную форму? через choice
источник

ПГ

Павел Г. in symfony
Volodymyr Melko
почему? они нужны как раз, чтоб не делать сеттер и не городить проверку на совпадение с константой
Проверка с константной будет скорее всего внутри VO но все равно будет
источник

ПГ

Павел Г. in symfony
Anton K.
а если мы например захотим засетить значение через обычную форму? через choice
Трансформеры вроде для этого, но могу ошибаться
источник

AK

Anton K. in symfony
Павел Г.
Трансформеры вроде для этого, но могу ошибаться
да, но зачем?
источник

ПГ

Павел Г. in symfony
Anton K.
да, но зачем?
Для инкапсуляции
источник

VM

Volodymyr Melko in symfony
Anton K.
а если мы например захотим засетить значение через обычную форму? через choice
ну в форме вы можете делать что хотите, а обработчик формы уже вызовет нужный метод у энтити
источник

AK

Anton K. in symfony
зачем мне писать обработчик, если я могу просто сделать setGender и принять значение?
источник

AK

Anton K. in symfony
напрямую из формы. для чего усложнять?
источник

ПГ

Павел Г. in symfony
ну кстати да, если форму не гнать в ентити сразу, то форма мапится в ДТО
источник

VM

Volodymyr Melko in symfony
Павел Г.
Проверка с константной будет скорее всего внутри VO но все равно будет
ну вот внутри ВО ей и место. Сущность не должна отвечать за корректность создания гендера, она в окнтракте описывает, что ожидает Gender и все. Этим ВО и классные =)
источник

ПГ

Павел Г. in symfony
Volodymyr Melko
ну вот внутри ВО ей и место. Сущность не должна отвечать за корректность создания гендера, она в окнтракте описывает, что ожидает Gender и все. Этим ВО и классные =)
Я про то, что все равно проверка на константу будет :)
источник

ПГ

Павел Г. in symfony
Anton K.
зачем мне писать обработчик, если я могу просто сделать setGender и принять значение?
Чтобы сделать сущность инкапсулированной с рич моделью.
источник

VM

Volodymyr Melko in symfony
Павел Г.
Я про то, что все равно проверка на константу будет :)
необязательно, если сильно заморочиться, то можно обойтись подтипами
Male extends Gender
Female extends Gender
TransMale extends Gender
TransFemale extends Gender
источник

ПГ

Павел Г. in symfony
Не все вещи  заполняются через сеттеры, есть инварианты, есть более сложные методы чем с 1 атрибутом
источник

AK

Anton K. in symfony
ну в целом если сделать кастомный form type с гендером, то VO вроде как норм
источник

ПГ

Павел Г. in symfony
Volodymyr Melko
необязательно, если сильно заморочиться, то можно обойтись подтипами
Male extends Gender
Female extends Gender
TransMale extends Gender
TransFemale extends Gender
Ну тут уже вопрос какой инвариант и как он поддерживается. Но в целом, наверное да. Можно просто делать $this->value = const
источник

AK

Anton K. in symfony
но опять же тогда надо будет либо в entity конвертить руками, либо писать кастомный entity field type. я б такого не городил для таких простых вещей
источник

ПГ

Павел Г. in symfony
Anton K.
но опять же тогда надо будет либо в entity конвертить руками, либо писать кастомный entity field type. я б такого не городил для таких простых вещей
для простых и не надо
источник

ПГ

Павел Г. in symfony
Anton K.
но опять же тогда надо будет либо в entity конвертить руками, либо писать кастомный entity field type. я б такого не городил для таких простых вещей
Просто есть стиль создания сущностей и vo только через конструкторы и именнованные конструкторы. Тем самым сущность не бывает в невалидном состоянии, в отличии от наполнения через сеттер
источник