Debug for Zend Framework 1 with Doctrine2 plugin
ZFDebug is a plugin for the Zend Framework for PHP5, providing useful debug information displayed in a small bar at the bottom of every page., (*1)
Time spent, memory usage and number of database queries are presented at a glance. Additionally, included files, a listing of available view variables and the complete SQL command of all queries are shown in separate panels:, (*2)
, (*3)
The available plugins at this point are:, (*4)
$_COOKIE
, $_POST
and $_SESSION
To install, place the folder 'ZFDebug' in your library path, next to the Zend folder. Then add the following method to your bootstrap class (in ZF1.8+):, (*5)
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'), 'Cache' => array('backend' => $cache->getBackend()), 'Exception') ); $debug = new ZFDebug_Controller_Plugin_Debug($options); $this->bootstrap('frontController'); $frontController = $this->getResource('frontController'); $frontController->registerPlugin($debug); }
Here is example configuration for using the Doctrine2 Plugin:, (*6)
protected function _initZFDebug() { if (APPLICATION_ENV == 'development') { $autoloader = Zend_Loader_Autoloader::getInstance(); $autoloader->registerNamespace('ZFDebug'); $em = $this->bootstrap('doctrine')->getResource('doctrine')->getEntityManager(); $em->getConnection()->getConfiguration()->setSQLLogger(new \Doctrine\DBAL\Logging\DebugStack()); $options = array( 'plugins' => array( 'Variables', 'ZFDebug_Controller_Plugin_Debug_Plugin_Doctrine2' => array( 'entityManagers' => array($em), ), 'File' => array('basePath' => APPLICATION_PATH . '/application'), //'Cache' => array('backend' => $cache->getBackend()), 'Exception', 'Html', 'Memory', 'Time', 'Registry', ) ); $debug = new ZFDebug_Controller_Plugin_Debug($options); $this->bootstrap('frontController'); $frontController = $this->getResource('frontController'); $frontController->registerPlugin($debug); } }
Further documentation will follow as the github move progresses., (*7)