Symfony 6 курс. Урок 6. Работа с формами в Symfony

preview_player
Показать описание


В этом захватывающем уроке мы погрузимся в мир валидации данных на разных уровнях в фреймворке Symfony! Научимся добавлять правила валидации как на уровне формы, так и на уровне сущности.

Наш первый этап - создание формы без привязки к объекту Entity. Мы разберем, как создать форму, которая не привязана к конкретному Entity объекту, и как эффективно использовать валидацию на уровне этой формы. Это открывает широкие возможности для гибкой обработки данных и улучшения пользовательского опыта.

Но это еще не все! Мы также рассмотрим валидацию на уровне Entity, где будем гарантировать целостность данных в базе. Узнаем, как эффективно использовать Symfony PHP Validator для обеспечения правильности данных перед сохранением их в хранилище.

В дополнение к этому, создадим форму и класс PHP поиска BlogFilter, а затем интегрируем его в репозиторий, используя мощный Query Builder Doctrine. Это поможет нам улучшить эффективность поиска и фильтрации данных в наших Symfony-приложениях.

Также разберем пример добавления поля в форму, которого нет в базе данных. Рассмотрим пример обработки событий в форме.

*Все видео курса:*

00:00 Разбираемся как работает CSRF токен защиты формы от Cross-Site Request Forgery (CSRF) атаки
02:00 Валидация на уровне HTML в браузере
04:00 Валидация в классе php формы
05:00 Валидация с помощью аттрибутов php в классе сущности
07:00 Изменяем стандартное сообщение об ошибке
08:00 Смотрим другие аттрибуты настройки формы
10:00 Настраиваем select поле в форме
12:00 Создаем класс фильтра блогов для маппинга на него формы
14:00 Внедряем форму поиска в контроллер списка блогов
18:00 Строим запрос в базу данных с помощью Doctrine QueryBuilder
25:00 Добавление поля в форму, которого нет в сущности entity с помощью mapped=false
27:00 Использование обработчиков событий в форме

#обучение #программирование #обучающие #symfony #php #программирование
Рекомендации по теме
Комментарии
Автор

Если у вас остались какие-либо вопросы, вы всегда можете спросить меня здесь, в комментариях. Также если вы нашли баг или знаете как что-то реализовать можно лучше, вы можете добавить эту информацию в комментариях 😀

bukachuk_php
Автор

Коммент для продвижения видео!
Годный материал по симфони)

teacher_cheater
Автор

Cпасибо, очень доходчиво, Вы крут!!!

denysbarzynskyi
Автор

лайк под видео и под всеми коментами для продвижения

Oleksii-k
Автор

Скажите, а как часто используются эти формы? Все таки большая часть приложений разделена на бек и фронт, а там я даже не знаю, есть ли смысл использовать формы и можно ли это вообще сделать) Как мне кажется формы полезны если это монолитное приложение, а таких меньшинство

failoutBoy
Автор

не понятно механизм каким образом свойство title класса BlogFilter заполняется .

$form = $this->createForm(BlogFilterType::class, $blogFilter);

// не существует



// уже существует

А вот как и почему это происходит к сожалению не понятно . Хотелось бы узнать

Спасибо за видео!

Oleksii-k
Автор

Условие с единицами не нужно, в QueryBuilder можно сразу использовать ->andWhere(), даже без предваряющего ->where()

PavelKrauchuk
Автор

Спасибо вам за видео! У меня почему-то отправка формы работает не так. У вас форма отправляется обычным способом, когда метод не разрешен, возвращается страница с кодом 405. У меня же форма отправляется fetch-запросом, если метод не разрешен, ответ возвращается с 405-м кодом. И сразу отправляется еще один get-запрос, который перезагружает индексную страницу блога. Какая-то магия symfony похоже)

АлексейБогомолов-зц
Автор

классы типа Form/BlogType, Form/CategotyType это получается DTO или для них еще классы отдельные нужны?

alexstav