FuelPHP - Eventi

Un eventè un'azione o un evento riconosciuto dal programma che può essere gestito dal programma stesso. Ad esempio, possiamo definire un'azione o un evento denominato my_fuel_event e quindi eseguire del lavoro ogni volta che viene chiamato l'evento, my_fuel_event. FuelPHP offre classe,Event per lavorare con gli eventi nell'applicazione.

Eventi di sistema

FuelPHP ha definito alcuni degli eventi attraverso i quali possiamo fare del lavoro ogni volta che gli eventi definiti vengono chiamati o attivati ​​dall'applicazione. Questa guida modifica il comportamento di FuelPHP senza modificare i file di codice di base di FuelPHP. Gli eventi predefiniti sono i seguenti:

  • app_created - Questo evento verrà attivato dopo che il framework FuelPHP è stato inizializzato.

  • request_created - Questo evento verrà attivato dopo che un nuovo oggetto Request è stato forgiato.

  • request_started - Questo evento verrà attivato quando viene richiesta l'esecuzione di una richiesta.

  • controller_started - Questo evento verrà attivato prima che il metodo controller before () venga chiamato.

  • controller_finished - Questo evento verrà attivato dopo che i controller after () sono stati chiamati e la risposta è stata ricevuta.

  • response_created - Questo evento verrà attivato dopo che un nuovo oggetto Response è stato forgiato.

  • request_finished - Questo evento verrà attivato quando l'esecuzione di una richiesta è completa e viene ricevuta una risposta.

  • shutdown - Questo evento verrà attivato dopo che la richiesta principale è stata elaborata e l'output è stato inviato.

Possiamo gestire gli eventi nello speciale file di configurazione, fuel/app/config/events.php come 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 
         }, 
      ), 
   );

Metodi evento

La classe Event fornisce metodi per registrare, annullare la registrazione e generare eventi. Sono i seguenti,

Registrati()

Il metodo register consente ai file di registrare un oggetto che verrà eseguito quando viene chiamato il metodo trigger.

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

unregister ()

Il metodo unregister consente ai file di annullare la registrazione di un oggetto che verrebbe eseguito quando viene chiamato il metodo trigger.

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

trigger ()

Il metodo trigger viene utilizzato per attivare o attivare i callback associati tramite il metodo register.

Event::trigger('my_event');

has_events ()

Il metodo has_events è disponibile in modo da poter controllare se un particolare evento registrato ha dei trigger.

Event::has_events('my_event');

fucina()

La fucina restituisce un nuovo oggetto evento.

$event = Event::forge();

esempio()

L'istanza restituisce un nuovo oggetto evento singleton.

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