ZFDebug: debug bar para Zend Framework

ZFDebug es un plugin para Zend Framework, con el que se puede mostrar una barra informativa en la parte inferior del navegador que muestra en cada petición al servidor una serie de datos muy valuosos para los desarrolladores:

  • tiempo empleado en la ejecución
  • memoria usada
  • número y descripción de las peticiones realizadas a la base de datos
  • número de archivos incluidos
  • errores y excepciones producidas
  • elementos almacenados en el Zend_Registry

Anteriorment ZFDebug se llamaba Scienta ZF Debug Bar, y viene a ser una copia de la barra que posee Symfony, pero diseñada para Zend Framework; incluso utiliza los mismos iconos. La última versión disponible (ZFDebug 1.5) es de mayo del 2009, pero funciona perfectamente tanto con Zend Framework 1.8 o posterior, como con versiones anteriores.

En el código HTML de la página web, inserta un pequeño script que usa jQuery para los efecto de mostrar y ocultar la información.

ZFDebug Debug Bar Screenshot

Para su instalación, solamente debemos seguir tres pasos:

  • Descargar el paquete de ZFDebug.
  • Dentro del archivo comprimido, extraer la carpeta ‘ZFDebug’ de dentro de la carpeta ‘zfdebug/libraryy copiarla a la carpeta ‘library‘ del proyecto donde se quiere instalar el plugin.
  • Finalmente, hay que editar el archivo Bootstrap.php. Para las versiones 1.8 o posteriores de Zend Framework, solamente hay que añadir una nueva función (condicionada para ejecutarse solamente cuando se este en entorno de desarrollo):
    protected function _initZFDebug()
    {
        if ('development' == APPLICATION_ENV) {
            $autoloader = Zend_Loader_Autoloader::getInstance();
            $autoloader->registerNamespace('ZFDebug');
     
            $options = array(
                'plugins' => array('Variables', 
                                   'File' => array('base_path' => APPLICATION_PATH),
                                   'Memory', 
                                   'Time', 
                                   'Registry', 
                                   'Exception')
            );
     
            if ($this->hasPluginResource('db')) {
                $this->bootstrap('db');
                $db = $this->getPluginResource('db')->getDbAdapter();
                $options['plugins']['Database']['adapter'] = $db;
            }
     
            if ($this->hasPluginResource('cache')) {
                $this->bootstrap('cache');
                $cache = $this-getPluginResource('cache')->getDbAdapter();
                $options['plugins']['Cache']['backend'] = $cache->getBackend();
            }
     
            $debug = new ZFDebug_Controller_Plugin_Debug($options);
     
            $this->bootstrap('frontController');
            $frontController = $this->getResource('frontController');
            $frontController->registerPlugin($debug);
        }
    }

    ATENCIÓN: En el array de $options, hay asignado el path a través de la constante APPLICATION_PATH. Dependiendo de la configuración del proyecto, quizás hay que cambiar este valor.

Tanto para las versiones anteriores a la 1.8, como para realizar otros ajustes, es recomendable la lectura de la página de instalación de ZFDebug.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>