Учебники

FuelPHP — События

Событие — это действие или событие, распознаваемое программой, которое может обрабатываться самой программой. Например, мы можем определить действие или событие с именем 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.