Module structure Flashcards
Какой минимальный набор файлов нужен для создания модуля? Какие ещё
файлы там могут быть? Зачем нужен каждый из них?
Директория, которая станет корнем модуля, а также файл *.info.yml, описывающий модуль.
module.module - содержит хуки и кастомные функции
module.routing.yml - содержит записи о роутах модуля со ссылками на соответствующие классы
module.links.menu.yml - содержит информацию о том в каком меню нужно расположить ссылку на тот или иной роут
module_name.services.yml - конфигурационный файл описания сервисов.
module_name.links.menu.yml - конфигурационный файл описания ссылок меню.
В директории src храняться классы контроллеров, форм, сервисов, плагинов.
b. Что такое апдейты (hook_update)?
Хук hook_update_N() производит единоразовое выполнение кода, необходимое для обновления модуля на более новую версию.
В основном в этом хуке изменяют схему бд, но ничто не мешает выполнить в нём любой другой код.
- Что такое “сервис”?
Сервисы — это классы реализующие переиспользуемый функционал. Инстанцированием
их объектов управляет сервис контейнер.
- Что такое “плагин”? Чем плагин отличается от сервиса?
Плагины – классы, реализующие часть функциональности, которая выполняет конкретную задачу.
Плагины реализуют различное поведение через общий интерфейс.
Сервисы предоставляют одну и ту же функцию и взаимозаменяемы, отличаясь только внутренней реализацией.