FuelPHP - Eventos
A eventé uma ação ou ocorrência reconhecida pelo programa que pode ser tratada pelo próprio programa. Por exemplo, podemos definir uma ação ou evento chamado my_fuel_event e, em seguida, fazer algum trabalho sempre que o evento, my_fuel_event for chamado. FuelPHP fornece classe,Event para trabalhar com os eventos no aplicativo.
Eventos do Sistema
O FuelPHP definiu alguns dos eventos por meio dos quais podemos fazer algum trabalho sempre que os eventos definidos forem chamados ou disparados pelo aplicativo. Esta ajuda está mudando o comportamento do FuelPHP sem alterar os arquivos de código do núcleo do FuelPHP. Os eventos predefinidos são os seguintes -
app_created - Este evento será acionado depois que o framework FuelPHP for inicializado.
request_created - Este evento será acionado após a falsificação de um novo objeto Request.
request_started - Este evento será acionado quando for solicitada a execução de uma solicitação.
controller_started - Este evento será disparado antes que o método before () dos controladores seja chamado.
controller_finished - Este evento será disparado após os controladores após o método () ser chamado e a resposta ser recebida.
response_created - Este evento será acionado após a falsificação de um novo objeto Response.
request_finished - Este evento será acionado quando a execução de uma Solicitação for concluída e uma resposta for recebida.
shutdown - Este evento será acionado após o processamento da solicitação principal e o envio da saída.
Podemos lidar com os eventos no arquivo de configuração especial, fuel/app/config/events.php como segue -
<?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 Evento
A classe Event fornece métodos para registrar, cancelar o registro e disparar eventos. Eles são os seguintes,
registro()
O método de registro permite que os arquivos registrem um objeto que será executado quando o método de disparo for chamado.
$my_event_code = function() {
echo 'my event';
}
Event::register('my_event', $my_event_code);
cancelar o registro ()
O método de cancelamento de registro permite que os arquivos cancelem o registro de um objeto que seria executado quando o método de disparo fosse chamado.
Event::unregister('my_event', $my_event_code);
desencadear()
O método de disparo é usado para disparar ou ativar retornos de chamada associados por meio do método de registro.
Event::trigger('my_event');
has_events ()
O método has_events está disponível para que você possa verificar se um determinado evento registrado tem gatilhos.
Event::has_events('my_event');
forja()
A forja retorna um novo objeto de evento.
$event = Event::forge();
instância()
A instância retorna um novo singleton de objeto de evento.
$event = Event::instance('event_instance');