PHPackages                             frejfrej/zfdebug - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Debugging &amp; Profiling](/categories/debugging)
4. /
5. frejfrej/zfdebug

ActiveLibrary[Debugging &amp; Profiling](/categories/debugging)

frejfrej/zfdebug
================

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.6.2(11y ago)1117BSD-3-ClausePHP

Since Jun 24Pushed 11y ago1 watchersCompare

[ Source](https://github.com/frejfrej/ZFDebug)[ Packagist](https://packagist.org/packages/frejfrej/zfdebug)[ Docs](https://github.com/jokkedk/ZFDebug)[ RSS](/packages/frejfrej-zfdebug/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

ZFDebug - a debug bar for Zend Framework
========================================

[](#zfdebug---a-debug-bar-for-zend-framework)

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.

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:

[![](https://camo.githubusercontent.com/75795e8c0576da778f401f651944539ff4d52a6f8bbbeef211bfae866c961113/687474703a2f2f6a6f6b6b652e646b2f6d656469612f323031312d7a6664656275672e706e67)](https://camo.githubusercontent.com/75795e8c0576da778f401f651944539ff4d52a6f8bbbeef211bfae866c961113/687474703a2f2f6a6f6b6b652e646b2f6d656469612f323031312d7a6664656275672e706e67)

The available plugins at this point are:

- Cache: Information on Zend\_Cache, APC and Zend OPcache (for PHP 5.5).
- Database: Full listing of SQL queries from Zend\_Db and the time for each.
- Exception: Error handling of errors and exceptions.
- File: Number and size of files included with complete list.
- Html: Number of external stylesheets and javascripts. Link to validate with W3C. for custom memory measurements.
- Log: Timing information of current request, time spent in action controller and custom timers. Also average, min and max time for requests.
- Variables: View variables, request info and contents of `$_COOKIE`, `$_POST` and `$_SESSION`
- Session

Installation &amp; Usage
------------------------

[](#installation--usage)

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+):

```
protected function _initDebug()
{
    $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);
}

```

Doctrine 1 Plugin
-----------------

[](#doctrine-1-plugin)

Here is example configuration for using the Doctrine Plugin:

```
protected function _initDebug()
{
	if (APPLICATION_ENV === 'development') {
        $options = array(
            'plugins' => array(
                'Variables',
                'File',
                'Memory',
                'Time',
                new ZFDebug_Controller_Plugin_Debug_Plugin_Doctrine(),
                'Exception'
            )
        );

        $ZFDebug = new ZFDebug_Controller_Plugin_Debug($options);
        $frontController = Zend_Controller_Front::getInstance();
        $frontController->registerPlugin($ZFDebug);

        return $ZFDebug;
    }
}

```

Doctrine2 Plugin
----------------

[](#doctrine2-plugin)

Here is example configuration for using the Doctrine2 Plugin:

```
protected function _initDebug()
{
	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('base_path' => 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);
	}
}

```

Sample Zend Plugin to load the ZFDebug toolbar
----------------------------------------------

[](#sample-zend-plugin-to-load-the-zfdebug-toolbar)

Some use case will require that you set up callback functions. Especially, these happen to occur in the following plugins:

- cache: the callback function is called when asked to clean the cache
- language: the callback is called when we try to change the active language
- auth: the callback is used to retrieve the real username when the default plugin would only give an id

You can leverage those functionalities by setting the following class:

```
