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');