Каковы наилучшие методы, связанные с установкой ограничений валидации в ваши проекты?Проверка в Symfony2: Entity vs FormType - лучшие практики?
В большинстве случаев вы храните его в Entities или FormTypes?
Каковы плюсы и минусы?
Вот что я имею в виду:
FormType пример
$builder
->add('firstName', TextType::class, array(
'constraints' => array(
new NotBlank(),
),
))
;
Entity пример
class Author
{
/**
* @Assert\NotBlank()
*/
protected $firstName;
}
Лучшее решение по-прежнему не использовать сущности в качестве объектов данных. Записывайте объекты передачи данных, чтобы избежать тонны головных болей и сделать формы намного проще. В этом случае я могу сказать, что ваш ответ действительно правильный. –
Любой фрагмент? Мне интересно, как вы справляетесь с этим должным образом. – Terenoth
Это просто объект данных с геттерами/сеттерами (POPO), например мой ChangeUsernameType имеет ChangeUsernameData, он просто содержит старое и новое имя пользователя, мой тип имеет повторяющийся тип в новом и сопоставляет старый с существующим именем пользователя. После представления и действия я просто делаю $ user-> setUsername ($ myDto-> getUsername()); и я промою своего пользователя. Это не позволяет моим сущностям попасть в недействительное состояние и, что еще хуже, быть случайно сброшенным в этом состоянии. Это также означает, что я могу формировать свои формы, не будучи лишенными моей модели. –