tavy315/zfdebug
最新稳定版本:1.7.6
Composer 安装命令:
composer require tavy315/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.
README 文档
README
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:
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.
- Session
- Variables: View variables, request info and contents of $_COOKIE, $_POST and $_SESSION
Installation
{
"minimum-stability": "dev",
"require": {
"tavy315/zfdebug" : "dev-master"
}
}
Using Composer
You may now install ZFDebug using the dependency management tool Composer.
To use ZFDebug with Composer, add the following to the require list in your project's composer.json file:
"require": {
"tavy315/zfdebug": "1.*"
},
Run the install command to resolve and download the dependencies:
php composer.phar install
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 _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);
}
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:
<?php
class Application_Controller_Plugin_Debug extends \ZFDebug\Controller\Plugin\Debug
{
public function __construct($options = null)
{
// avoids constructing before required vars are available
}
public function preDispatch(\Zend_Controller_Request_Abstract $request)
{
if (APPLICATION_ENV !== 'production') {
$auth_callback = function ($raw_user) {
// do the job for getting the real username from the raw data you would typically retrieve
};
$locale_callback = function () {
// do the job for changing locale
};
$cache_callback = function () {
// do the job for clearing the cache
};
$this->_options = array(
'image_path' => null,
'plugins' => array(
'Variables',
'Doctrine2' => array(
'entityManagers' => array(
\Zend_Registry::get('em')
),
),
'File' => array(
'base_path' => APPLICATION_PATH . '/../',
),
'Cache' => array(
'backend' => 'Zend_Cache',
'callback' => $cache_callback,
),
'Exception',
'Html',
'Locale' => array(
'callback' => $locale_callback,
),
'Auth' => array(
'user' => 'id',
'callback' => $auth_callback,
),
)
);
// Registering Debug plugin
parent::__construct();
}
}
}
Doctrine 1 Plugin
Here is example configuration for using the Doctrine Plugin:
protected function _initZFDebug()
{
if (APPLICATION_ENV === 'development') {
$options = array(
'plugins' => array(
'Variables',
'File',
'Memory',
'Time',
'Doctrine1',
'Exception'
)
);
$ZFDebug = new \ZFDebug\Controller\Plugin\Debug($options);
$frontController = \Zend_Controller_Front::getInstance();
$frontController->registerPlugin($ZFDebug);
return $ZFDebug;
}
}
Doctrine2 Plugin
Here is example configuration for using the Doctrine2 Plugin:
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',
'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.
tavy315/zfdebug 适用场景与选型建议
tavy315/zfdebug 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 246 次下载、GitHub Stars 达 1, 最近一次更新时间为 2015 年 05 月 02 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「doctrine2」 「doctrine」 「Zend Framework」 「ZFDebug」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 tavy315/zfdebug 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 tavy315/zfdebug 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 tavy315/zfdebug 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
An extension of ScnSocialAuth that provides integration with Doctrine2 ORM.
Doctrine2 behavior traits - slowhop fork
Make pimcore migration simple
Elasticsearch PHP integration for your Symfony project using Elastica
Integrate the doctrine-translatable extension in Symfony2
Plugins for Tactician commands using Doctrine, like wrapping every command in a transaction
统计信息
- 总下载量: 246
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 16
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2015-05-02