Архитектура Hook/Plugin в PHP
Мне нужно реализовать архитектуру хуков / плагинов для проекта на PHP. Я нашел много статей и примеров, написанных на php, и немного информации об архитектуре плагинов, но я до сих пор не могу четко понять, как это работает. Это может быть действительно глупым вопросом для кого-то, но я новичок в этих понятиях и действительно должен найти четкий ответ. Какова роль хуков в архитектуре плагинов? Как хуки могут сделать приложение более расширяемым. Я хотел бы увидеть ответ с примером из PHP.
Спасибо.
1 ответ
Проще говоря, ловушка является ничем иным, как обработчиком событий в Event Based Architecture. Вы можете подписаться на любое публичное событие через ваш обработчик (ловушки), и оно будет вызвано / обратным вызовом, когда это событие произойдет. Например, WordPress построен на основе архитектуры событий.
Насколько его расширяемо? Принцип публикации-подписки отделяет источник события от его подписчиков / обработчиков / хуков, и поэтому два могут различаться, не влияя друг на друга.
Пример: http://agafix.org/a-practical-guide-to-event-driven-programming-with-php/