SMsoft – informatica e dintorni

varie su OSX, GNU/Linux e l'Open Source

debug bar for Zend Framework – ZFDebug

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.
zfdebug
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.

Page optimized by WP Minify WordPress Plugin