Strumenti Utente

Strumenti Sito


sviluppo:hooks

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:

  1. Registrazione delle funzioni, in risposta a particolari eventi
  2. 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.txt · Ultima modifica: 2018/03/19 10:45 da 127.0.0.1