sviluppo:hooks
Questa è una vecchia versione del documento!
Hooks
Gli hooks nascono con lo scopo di estendere delle funzionalità del framework, senza impattare in maniera importante nella struttura esistente.
Configurazione
Nel file hooks/hooks.ini devono essere censiti gli hook presenti nell'applicativo, ecco un esempio:
[citywareHook.php] active=1
In questo caso, l'hook è attivo, ed è richiesta la presenza del file hooks/citywareHook.php
Implementazione classe hook
Il codice si divide in due fasi:
- Registrazione delle funzioni, in risposta a particolari eventi
- Implementazione delle funzioni di risposta degli eventi
Es. Cityware:
<?php
itaHooks::register('post_login', 'cityware_post_login');
function cityware_post_login($args) {
require_once ITA_BASE_PATH . '/apps/CityBase/cwbParGen.class.php';
require_once ITA_BASE_PATH . '/apps/CityBase/cwbLibDB_BOR.class.php';
$libDB_BOR = new cwbLibDB_BOR();
// Imposta anno contabile
cwbParGen::setAnnoContabile(date("Y"));
// Imposta cliente
$cliente = $libDB_BOR->leggiBorClient()[0];
cwbParGen::setBorClient($cliente);
// Imposta enti per il cliente
$enti = $libDB_BOR->leggiBorEntiClient($cliente['PROGCLIENT']);
cwbParGen::setBorEnti($enti);
}
?>
In questo caso, Cityware imposta in sessione delle variabili, per poi utilizzarle successivamente in tutti i moduli al bisogno.
sviluppo/hooks.1464969684.txt.gz · Ultima modifica: (modifica esterna)
