phalcon-debugbar

Phalcon 扩展包
授权协议 MIT
开发语言 PHP
所属分类 开发工具、 程序调试工具
软件类型 开源软件
地区 国产
投 递 者 太叔凌龙
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

PhalconDebugbar 这个扩展包将 PHP Debug Bar 与  Phalcon FrameWork 集成在了一起.

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

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

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

功能特性

  1. 常规请求调试信息收集

  2. Ajax请求调试信息收集

  3. Redirect请求调试信息

  4. 调试信息本地持久化支持

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

支持收集的调试数据

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

  • TimeDataCollector : 收集时间计算信息

  • MemoryCollector : 请求的内存占用

  • ExceptionsCollector : 异常信息收集

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

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

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

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

  • ConfigCollector: 收集 config service中的数据.

  • SessionCollectior 收集session数据

  • SwiftMailCollector 收集邮件发送信息

安装package

composer 安装

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目录并设置可写. 你也可以修改配置文件,使用其他目录进行持久化.

  1. 将应用实例保存为app服务

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

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

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

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

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

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

截图


Screenshot


Screenshot


Screenshot


Screenshot


Screenshot


Screenshot


Screenshot


Screenshot


Screenshot


Screenshot


  • https://github.com/snowair/phalcon-debugbar 转载于:https://my.oschina.net/freeskyala/blog/519483

 相关资料
  • Phalcon 是开源的完整堆栈框架作为 PHP 的 C 扩展提供,提供高性能和低资源占用。 Phalcon针对高性能进行了优化。 其独特的体系结构允许框架始终驻留在内存中,在需要时提供其功能,而无需昂贵的文件统计信息和传统PHP框架使用的文件读取。考虑到平台独立性。 因此,Phalcon可在Microsoft Windows,GNU / Linux,FreeBSD和MacOS上使用。 您可以为您

  • 扩展是专门设计的在 Yii 应用中随时可拿来使用的, 并可重发布的软件包。例如, yiisoft/yii2-debug 扩展在你的应用的每个页面底部添加一个方便用于调试的工具栏, 帮助你简单地抓取页面生成的情况。 你可以使用扩展来加速你的开发过程。 信息: 本文中我们使用的术语 "扩展" 特指 Yii 软件包。而用术语 "软件包" 和 "库" 指代非 Yii 专用的通常意义上的软件包。 使用扩展

  • vscode-react-native vscode-go

  • 扩展为现有的类、结构体、枚举类型、或协议添加了新功能。这也包括了为无访问权限的源代码扩展类型的能力(即所谓的逆向建模)。扩展和 Objective-C 中的分类类似。(与 Objective-C 的分类不同的是,Swift 的扩展没有名字。) Swift 中的扩展可以: 添加计算实例属性和计算类型属性; 定义实例方法和类型方法; 提供新初始化器; 定义下标; 定义和使用新内嵌类型; 使现有的类型遵

  • 概述 范例-hello-world 范例-word-count 范例-language-server 范例-调试器 调试-扩展 安装-扩展 范式-原则 测试-扩展 用我们的方法创造扩展

  • 本页包含内容: 扩展语法 计算型属性 构造器 方法 下标 嵌套类型 扩展就是向一个已有的类、结构体或枚举类型添加新功能(functionality)。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模)。扩展和 Objective-C 中的分类(categories)类似。(不过与Objective-C不同的是,Swift 的扩展没有名字。) Swift 中的扩展可以: 添加计算型属