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