FuelPHP - События
An event- это действие или событие, распознаваемое программой, которое может обрабатываться самой программой. Например, мы можем определить действие или событие с именем my_fuel_event, а затем выполнять некоторую работу всякий раз, когда вызывается событие my_fuel_event. FuelPHP обеспечивает класс,Event работать с событиями в приложении.
Системные события
В FuelPHP определены некоторые события, с помощью которых мы можем выполнять некоторую работу всякий раз, когда определенные события вызываются или запускаются приложением. Эта помощь меняет поведение FuelPHP без изменения файлов основного кода FuelPHP. Предварительно определенные события следующие:
app_created - Это событие будет инициировано после инициализации инфраструктуры FuelPHP.
request_created - Это событие будет инициировано после создания нового объекта запроса.
request_started - Это событие будет инициировано, когда будет запрошено выполнение запроса.
controller_started - Это событие будет инициировано перед вызовом метода контроллеров before ().
controller_finished - Это событие будет инициировано после вызова метода after () контроллеров и получения ответа.
response_created - Это событие будет инициировано после создания нового объекта Response.
request_finished - Это событие будет инициировано, когда выполнение запроса будет завершено и будет получен ответ.
shutdown - Это событие будет инициировано после обработки основного запроса и отправки вывода.
Мы можем обрабатывать события в специальном файле конфигурации, fuel/app/config/events.php следующим образом -
<?php
return array (
'fuelphp' => array (
'app_created' => function() {
// After FuelPHP initialised
},
'request_created' => function() {
// After Request forged
},
'request_started' => function() {
// Request is requested
},
'controller_started' => function() {
// Before controllers before() method called
},
'controller_finished' => function() {
// After controllers after() method called
},
'response_created' => function() {
// After Response forged
},
'request_finished' => function() {
// Request is complete and Response received
},
'shutdown' => function() {
// Output has been send out
},
),
);
Методы событий
Класс событий предоставляет методы для регистрации, отмены регистрации и активации событий. Они следующие:
регистр()
Метод register позволяет файлам регистрировать объект, который будет запускаться при вызове метода триггера.
$my_event_code = function() {
echo 'my event';
}
Event::register('my_event', $my_event_code);
отменить регистрацию ()
Метод отмены регистрации позволяет файлам отменить регистрацию объекта, который будет запущен при вызове метода триггера.
Event::unregister('my_event', $my_event_code);
спусковой крючок()
Метод триггера используется для запуска или активации обратных вызовов, связанных с помощью метода регистрации.
Event::trigger('my_event');
has_events ()
Доступен метод has_events, поэтому вы можете проверить, есть ли у конкретного зарегистрированного события триггеры.
Event::has_events('my_event');
кузница ()
Кузница возвращает новый объект события.
$event = Event::forge();
пример()
Экземпляр возвращает новый синглтон объекта события.
$event = Event::instance('event_instance');