Da qualche giorno ho iniziato a studiare Zend Framework, di cui non mancherò di scrivere qualche tutorial quanto prima. Intanto volevo mettere in evidenza un plugin chiamato ZFDebug (ex Scienta ZF Debug Bar) che è molto utile per il debug della propria applicazione.
![]()
Il plugin visualizza una piccola barra in basso nel browser con le seguenti indicazioni:
- Versione di Zend Framework installata. Cliccandoci su viene visualizzata la versione del plugin ed il copyright.
- Variables: un pannello con le variabili disponibili nell’interfaccia view dello script (compreso $_COOKIE e $_POST).
- Cache: Informazioni su Zend_Cache ed APC.
- Database: Query del Database e tempo impiegato. Il pannello mostra l’SQL delle query ed il relativo tempo di esecuzione.
- Exception: Se una eccezione si verifica nel dispatch loop, un pannello viene visualizzato con le info ed il call stack. Quesot rende molto semplice il debug senza impostare throwExceptions() a true nel front controller.
- Gli errori vengono visualizzati in base all’impostazione di error_reporting. Utile per la cattura di E_NOTICE e E_STRICT.
- Time: Tempo necessario per processare la richiesta da $_SERVER['REQUEST_TIME'] fino a quando il metodo Zend_Controller dispatchLoopShutdown() viene chiamato. Un click mostra un pannello con l’elenco dei file inclusi ed il tempo impiegato per i controller richiesti.
- File: Numero e dimensione dei files inclusi, con la lista completa.
- Html: Numero di file css e javascript esterni. Link per la validazione W3C.
- Memory: Picco dell’uso della memoria, uso della memoria da parte delle actions nei controllers e supporto per il controllo della memoria persoalizzata.
- Registry: Contenuto di Zend_Registry
L’installazione è molto semplice. Basta scaricare l’ultimo archivio disponibile (attualmente 1.5), poi decomprimerlo e copiare la cartella ZFDebug nell’include_path definito dal sistema, all’altezza della cartella con il Framework Zend. Questa configurazione è stata fatta su una installazione di ZendFramework 1.8.0 e sulle precedenti bisognerà seguire una configurazione differente. Successivamente bisognerà inserire nel file di Bootstrap (application/Bootstrap.php ) il metodo:
protected function _initZFDebug()
{
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace('ZFDebug');
$options = array(
'plugins' => array('Variables',
'Database' => array('adapter' => $db),
'File' => array('basePath' => '/path/to/project'),
'Memory',
'Time',
'Registry',
'Cache' => array('backend' => $cache->getBackend()),
'Exception')
);
$debug = new ZFDebug_Controller_Plugin_Debug($options);
$this->bootstrap('frontController');
$frontController = $this->getResource('frontController');
$frontController->registerPlugin($debug);
}A questo punto basterà richiamare la propria applicazione, per visualizzare la barra ZFDebug.