Какой шаблон ООП использовать для «запуска» событий приложения - PullRequest
2 голосов
/ 21 марта 2012

У меня есть приложение, в котором я хочу внедрить следующую систему. В определенных ключевых местах кода у меня будут такие строки, как

$event_handler->trigger('on_after_init');

В этой строке будет объявлено, что инициализация только что завершена. Затем я хочу иметь несколько случайных расширений / плагинов, слушающих это и другие события, и выполнять любой код, который они хотят. Например, что-то вроде плагина / after_init / ..., где вы можете поместить класс, который будет выполняться. Или, может быть, я буду хранить их в БД, чтобы я мог также изменить порядок при необходимости.

Хотя я могу построить что-то подобное, я чувствую, что это классическая задача и для этого есть стандартная схема. Я не хочу изобретать велосипед, поэтому, если это действительно так, пожалуйста, укажите мне соответствующую информацию.

Спасибо!

Ответы [ 2 ]

1 голос
/ 22 марта 2012

Symfony предоставляет ряд автономных компонентов , одним из которых является EventDispatcher компонент, посмотрите и посмотрите, будет ли он соответствовать вашим потребностям.

0 голосов
/ 22 марта 2012

prggmr предоставляет библиотеку событий для запуска событий в вашем приложении, по сути вы «подписываетесь» и «запускаете» сигналы в вашем приложении.

subscribe(function($event){
    echo "Do something here"
}, 'on_after_init');

fire("on_after_init");

Это можно в общих чертах определить как шаблон Observer , хотя это гораздо меньше шаблона проектирования ООП и больше парадигмы программирования Программирование на основе событий .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...