phalcon-debugbar Phalcon 扩展包

我要开发同款
匿名用户2015年03月11日
44阅读
开发技术PHP
所属分类开发工具、程序调试工具
授权协议MIT

作品详情

PhalconDebugbar 这个扩展包将PHPDebugBar与 PhalconFrameWork集成在了一起.

要感谢laravel-debugbar,我从中得到了启发,使用了其中的一些代码,经过几天夜以继日的工作,PhpDebugbar终于可以用在Phalcon项目上了!

我在Mac/PHP5.6/Phalcon1.3.4之下开发,时间关系,只在PHP5.4/Linux下测试通过,其他环境尚未测试,如果有问题,欢迎提Issue或者PullReqeust.

注意:这是一个开发辅助扩展,切勿部署生产环境.

功能特性

常规请求调试信息收集

Ajax请求调试信息收集

Redirect请求调试信息

调试信息本地持久化支持

支持多模块,单模块,微应用.

支持收集的调试数据

MessagesCollector:收集自己发送的调试数据

TimeDataCollector:收集时间计算信息

MemoryCollector:请求的内存占用

ExceptionsCollector:异常信息收集

QueryCollector:收集所有SQL查询,每条SQL的执行时间,SELECT语句的EXPLAIN信息

RouteCollector:收集当前路由的相关信息

ViewCollector: 收集当前请求渲染的所有模板,每个模板的渲染耗时,赋值到视图的视图变量

PhalconRequestCollector:收集请求头信息,请求数据,解密后的cookie,RAWBODY,以及响应头信息

ConfigCollector:收集configservice中的数据.

SessionCollectior收集session数据

SwiftMailCollector收集邮件发送信息

安装packagecomposer安装php composer.phar require --dev snowair/phalcon-debugbar下载安装

下载后,将package放在项目下,在你的项目的loader注册代码区域,注册debugbar的命名空间:

$loader = new \Phalcon\Loader();$loader->registerNamespaces(array(    'Snowair\Debugbar' => 'Path-To-PhalconDebugbar',  ));$loader->register();设置

为了支持ajax调试和重定向调试,debugbar默认开启了调试数据持久化功能,它会将收集到的调试信息以json文件保存在Runtime/phalcon目录下,如果该目录不存在,会试图创建,这需要你的项目目录可写,否则将抛出warning错误.建议手动创建Runtime目录并设置可写.你也可以修改配置文件,使用其他目录进行持久化.

将应用实例保存为app服务

在合适的位置插入下面的代码,通常应该在所有服务都注册完以后的位置.

将包内config/debugbar.php文件复制到你的项目配置目录下,修改后使用:

建议使用自己的debugbar配置文件,不要直接修改包内的默认配置文件,以避免更新composer时覆盖掉配置.

对于多模块应,很可能你的db服务和view服务是在模块的服务配置中注册的,它们晚于debugbar注册,所以debugbar无法捕捉它们的调试数据.这种情况,你只需要手动将db和view服务添加到debugbar中:

如果你的应用用到多个数据库连接,例如读写分离.则可以将每个数据库服务都添加到debugbar:

你也可以选择在运行时关闭或开启debugbar

截图

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论