Events and hooks Flashcards
Что такое hook, зачем он нужен и как создать свой?
a. Как изменить порядок вызова хуков?
hook – это функция модуля, вызов которой инициализируется из вне. Хуки предназначены для перехватывания событий и параметров, которые при этом передаются.
Для изменения порядка используется hook_module_implements_alter
Какие есть виды хуков и в чём различия?
Хук и альтер
Что такое event? В чём его отличия от хука? Как вызвать event? Как создать
свой event?
a. Как изменить порядок вызова ивентов?
Event: Непосредственно событие. Каждое событие — это объект. У него есть свои собственные уникальные методы, которые добавляет тот, кто данное событие объявил и вызывает. Как правило, туда передаются необходимые данные для данного события, чтобы на их основе можно было принять решение.
Event Dispatcher: Это сервис, который позволяет получать всю необходимую информацию о событии и производить его “активацию”, чтобы весь код, который подписан, был активирован.
EventSubscriber: Подписчики на события это объекты, которые и выполняют код при определенных событиях. В них описывается на какие события подписан конкретный объект, их позиция в процессе выполнения, и, как правило, сам код для события.
Событие же, “оповещает”, что что-то произошло, о чём вам необходимо знать, и передает вам дополнительную информацию о событии, чтобы вы могли что-то сделать, на основе полученной информации.
События создаются в /src/Event и extends Event
Для изменения порядка надо указать вес вторым параметроом при добавлении колбека
Что такое event subscriber и как создать свой?
Подписчики реализуют EventSubscriberInterface
метод getSubscribedEvents должен отдавать массив с интересующими его событиями