Да уже понял, думал раз "no longer required" - больше не требуется, значит есть другой способ. И он действительно есть, через eventsubscriber но пока не для всех хуков, хотя в 9 будет для всех. Вроде так
Ивенты и хуки выполняют одни и те же функции. Но в 99% случаев они не пересекаются. То есть, если есть ивент, то нет соответствующено хука. И наоборот. И в будущем планируется отказ от хуков в пользу ивентов.
Списки хуков, как и раньше, можно найти в файлах .api.php, а ивенты в src/Events. Как отличить хук от ивента, странный вопрос. Как отличить собаку от телевизора? Тут тоже что-то в этом роде. По коду, хуки вызываются через \Drupal::moduleHandler()->alter(). А ивенты через $event->dispatch (). Приведённые фрагменты кода написаны по обрывкам из памяти, если что))
Комментарии
В .module и объявлять.
Это где он такое пишет и при каких обстоятельствах?
Файл . module в восьмёрке действительно не обязателен. Он нужен только если вы хотите писать какие-то хуки. То есть алтеры пишем по-прежнему туда же.
При создании заготовки через консоль
Да уже понял, думал раз "no longer required" - больше не требуется, значит есть другой способ. И он действительно есть, через eventsubscriber но пока не для всех хуков, хотя в 9 будет для всех. Вроде так
Ивенты и хуки выполняют одни и те же функции. Но в 99% случаев они не пересекаются. То есть, если есть ивент, то нет соответствующено хука. И наоборот. И в будущем планируется отказ от хуков в пользу ивентов.
А список есть где перечислены что хук а что эвент? Чота не встретилось
Списки хуков, как и раньше, можно найти в файлах .api.php, а ивенты в src/Events. Как отличить хук от ивента, странный вопрос. Как отличить собаку от телевизора? Тут тоже что-то в этом роде. По коду, хуки вызываются через \Drupal::moduleHandler()->alter(). А ивенты через $event->dispatch (). Приведённые фрагменты кода написаны по обрывкам из памяти, если что))