Блог экспериментатора инженера-разработчика: Infanty.
Я пишу how-to статьи на редкие темы или статьи обзоры - для себя и тех кто со мной работает.
Блог существует при поддержке: "Оккупационных сил Марса".

Drupal 8 forms - паттерн: наблюдатель, внедрение зависимостей, сервисы и хуки

Более понятно данная тема звучит на английском языке: event dispatcher, dependency injection, service and hooks. Доработаем форму из предшествующего урока добавив в неё необходимый функционал, который упрощённо можно описать следующим образом:

  • На сабмите форме создаётся диспетчер.
  • Этот диспетчер начинает следить за определённым событием формы.
  • При его возникновении, он (диспетчер) через класс события посылает оповещение всем наблюдателям следящим за этим событием.

Drupal 8 forms - создание простой формы

Добавим простую форму к модулю demo - который содержит реализацию простой страницы с "hello world". Для этого в корневой директории сайта перейдём в папку: modules и в ней перейдём в папку ранее созданного модуля demo. После чего в папке модуля создадим подпапку: src, а в ней папку: Form в котором разместим файл: DemoForm.php с описанием класса формы.