Архитектура Hook/Plugin в PHP

Мне нужно реализовать архитектуру хуков / плагинов для проекта на PHP. Я нашел много статей и примеров, написанных на php, и немного информации об архитектуре плагинов, но я до сих пор не могу четко понять, как это работает. Это может быть действительно глупым вопросом для кого-то, но я новичок в этих понятиях и действительно должен найти четкий ответ. Какова роль хуков в архитектуре плагинов? Как хуки могут сделать приложение более расширяемым. Я хотел бы увидеть ответ с примером из PHP.

Спасибо.

1 ответ

Решение

Проще говоря, ловушка является ничем иным, как обработчиком событий в Event Based Architecture. Вы можете подписаться на любое публичное событие через ваш обработчик (ловушки), и оно будет вызвано / обратным вызовом, когда это событие произойдет. Например, WordPress построен на основе архитектуры событий.

Насколько его расширяемо? Принцип публикации-подписки отделяет источник события от его подписчиков / обработчиков / хуков, и поэтому два могут различаться, не влияя друг на друга.

Пример: http://agafix.org/a-practical-guide-to-event-driven-programming-with-php/

Другие вопросы по тегам