Событие — это действие или событие, распознаваемое программой, которое может обрабатываться самой программой. Например, мы можем определить действие или событие с именем my_fuel_event и затем выполнять некоторую работу всякий раз, когда вызывается событие my_fuel_event. FuelPHP предоставляет класс Event для работы с событиями в приложении.
Системные события
FuelPHP определил некоторые события, с помощью которых мы можем выполнять некоторую работу всякий раз, когда определенные события вызываются или запускаются приложением. Эта справка меняет поведение FuelPHP без изменения файлов кода ядра FuelPHP. Предопределенные события следующие:
-
app_created — это событие будет запущено после инициализации среды FuelPHP.
-
request_created — это событие будет вызвано после подделки нового объекта запроса.
-
request_started — это событие будет инициировано при запросе выполнения запроса.
-
controller_started — это событие будет вызвано до вызова метода controllers перед ().
-
controller_finished — это событие будет вызвано после того, как метод контроллера после () был вызван и ответ получен.
-
response_created — это событие будет инициировано после подделки нового объекта Response.
-
request_finished — это событие будет инициировано, когда выполнение запроса будет завершено и ответ получен.
-
shutdown — это событие будет вызвано после того, как основной запрос будет обработан, а выходные данные отправлены.
app_created — это событие будет запущено после инициализации среды FuelPHP.
request_created — это событие будет вызвано после подделки нового объекта запроса.
request_started — это событие будет инициировано при запросе выполнения запроса.
controller_started — это событие будет вызвано до вызова метода controllers перед ().
controller_finished — это событие будет вызвано после того, как метод контроллера после () был вызван и ответ получен.
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();
пример()
Экземпляр возвращает новый объект события singleton.