FuelPHP - Eventos

Un eventes una acción u ocurrencia reconocida por el programa que puede ser manejada por el programa mismo. Por ejemplo, podemos definir una acción o evento llamado my_fuel_event y luego hacer algo de trabajo cada vez que se llame al evento my_fuel_event. FuelPHP proporciona clase,Event para trabajar con los eventos de la aplicación.

Eventos del sistema

FuelPHP definió algunos de los eventos a través de los cuales podemos hacer algo de trabajo cada vez que la aplicación llama o dispara los eventos definidos. Esta ayuda está cambiando el comportamiento de FuelPHP sin cambiar los archivos de código central de FuelPHP. Los eventos predefinidos son los siguientes:

  • app_created - Este evento se activará después de que se haya inicializado el marco de FuelPHP.

  • request_created - Este evento se activará después de que se haya falsificado un nuevo objeto de solicitud.

  • request_started - Este evento se activará cuando se solicite la ejecución de una solicitud.

  • controller_started - Este evento se activará antes de que se llame al método controller before ().

  • controller_finished - Este evento se activará después de que se haya llamado al método controllers after () y se reciba la respuesta.

  • response_created - Este evento se activará después de que se haya falsificado un nuevo objeto de respuesta.

  • request_finished - Este evento se activará cuando se complete la ejecución de una solicitud y se reciba una respuesta.

  • shutdown - Este evento se activará después de que se haya procesado la solicitud principal y se haya enviado la salida.

Podemos manejar los eventos en el archivo de configuración especial, fuel/app/config/events.php como sigue -

<?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 
         }, 
      ), 
   );

Métodos de eventos

La clase de evento proporciona métodos para registrar, anular el registro y disparar eventos. Son los siguientes,

Registrarse()

El método de registro permite que los archivos registren un objeto que se ejecutará cuando se llame al método de activación.

$my_event_code = function() { 
   echo 'my event'; 
} 
Event::register('my_event', $my_event_code);

cancelar registro ()

El método de anulación del registro permite que los archivos anulen el registro de un objeto que se ejecutaría cuando se llame al método de activación.

Event::unregister('my_event', $my_event_code);

desencadenar()

El método de activación se utiliza para activar o activar devoluciones de llamada que están asociadas a través del método de registro.

Event::trigger('my_event');

has_events ()

El método has_events está disponible para que pueda verificar si un evento registrado en particular tiene desencadenantes.

Event::has_events('my_event');

fragua()

La fragua devuelve un nuevo objeto de evento.

$event = Event::forge();

ejemplo()

La instancia devuelve un nuevo singleton de objeto de evento.

$event = Event::instance('event_instance');