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