Часто при кастомизации административной панели в Symfony (Diem) требуется изменить или доработать сохранение формы, ее валидацию и прочее.
В очередной раз задавшись эти вопросом, я наткнулся на очень полезную картинку, которая помогает понять механизм сохранения формы, ее валидацию.
Я думаю, нет нужны расписывать каждый шаг процесса сохранения формы в Symfony. Я просто сразу выложу саму картинку, и все станет понятно.
Расскажу только об основных моментах:
- bind - получение переданных с формы данных и заполнение ими нашей формы для отображения после успешного сохранения или после неуспешного =);
- isValid - попытка валидации формы. Все переданные данные прогоняются через свои валидаторы, которые задаются на этапе конфигурации формы;
- doSave - если заполненная форма валидна — здесь производится сохранение;
- saveEmbeddedForms - если в форме есть подформы, то именно этот метод и занимается их сохранением;
- setFlash - вывод ошибки сохранения;
- updateObject - сохранение или изменение объекта, привязанного к форме.
Остальные методы тоже важны, но, честно сказать, их назначение мне выяснять пока не приходилось.
Взято отсюда
Автор: Артур Минимулин ⚫ 27 февраля 2013 г. ⚫ Тэги: php, Symfony