abbadon1334/atk4-phpdebugbar

ATK4 UI 与 PHPDebugBar


README

Build Status Codacy Badge Codacy Badge Test Coverage Maintainability

atk4-phpdebugbar

ATK4 与 PHPDebugBar

第一步

通过 composer 安装: composer require abbadon1334/atk4-phpdebugbar

在 ATK 中使用它

在 initLayout 之后添加到 atk4\ui\App

$debugBar = $app->add(
    new ATK4PHPDebugBar\DebugBar()
)

配置 ATKDebugBar - 资产加载

PHPDebugBar 需要加载自己的资产(JS 和 CSS),您需要设置正确的相对 URL

$debugBar->setAssetsResourcesUrl('https:///test');
/*
this will load :
 
 #CSS
 - https:///test/vendor/maximebf/debugbar/src/DebugBar/Resources/vendor/font-awesome/css/font-awesome.min.css
 - https:///test/vendor/maximebf/debugbar/src/DebugBar/Resources/vendor/highlightjs/styles/github.css
 - https:///test/vendor/maximebf/debugbar/src/DebugBar/Resources/debugbar.css
 - https:///test/vendor/maximebf/debugbar/src/DebugBar/Resources/widgets.css
 - https:///test/vendor/maximebf/debugbar/src/DebugBar/Resources/openhandler.css
 
 #JS
 - https:///test/vendor/maximebf/debugbar/src/DebugBar/Resources/vendor/highlightjs/highlight.pack.js
 - https:///test/vendor/maximebf/debugbar/src/DebugBar/Resources/debugbar.js
 - https:///test/vendor/maximebf/debugbar/src/DebugBar/Resources/widgets.js
 - https:///test/vendor/maximebf/debugbar/src/DebugBar/Resources/openhandler.js
*/ 
配置 phpdebugbar 资源资产加载

资产 URL 由三部分组成:相对路径

示例: https:///test/vendor/maximebf/debugbar/src/DebugBar/Resources/vendor/font-awesome/css/font-awesome.min.css

  • 资源 URL = https:///test
  • 资源路径 = /vendor/maximebf/debugbar/src/DebugBar/Resources
  • debugbar 路径 = /vendor/font-awesome/css/font-awesome.min.css

资源 URL 和资源路径可以通过方法定义

  • setAssetsResourcesUrl(string $url)
  • setAssetsResourcesPath(string $path)

示例,如果您使用路由

您必须定义一个路由来提供 PHPDebugBar 资产

$debugBar->setAssetsResourcesUrl('/');
$debugBar->setAssetsResourcesPath('debugbar/');

/*
this will load :
 - /debugbar/vendor/font-awesome/css/font-awesome.min.css
 - /debugbar/openhandler.js
*/
添加收集器

对于一般文档,请参阅 phpdebugbar 的完整文档: http://phpdebugbar.com/docs/data-collectors.html#using-collectors

添加默认收集器

添加默认收集器: $debugbar->addDefaultCollectors()$debugbar->addCollector(DebugBar\DataCollector\DataCollectorInterface $collector)

ATK4 日志收集器

如果应用程序中已经定义了 LoggerInterface,它将充当代理。

以这种方式添加: $debugBar->addATK4LoggerCollector()

与日志交互

  • 如果您的 App 实现 DebugTrait,则对 LoggerInterface 方法的任何调用

    示例: $app->info('测试消息')

  • 如果您的 App 实现或未实现 DebugTrait,您可以这样调用: $app->getDebugBarCollector('atk4-logger')->info('测试'); 或其他 LoggerInterface 方法

ATK4 Persistence\SQL 收集器

  • 以这种方式添加: $debugBar->addATK4PersistenceSQLCollector();,它将为 $this->app->db ( $app->db 必须存在) 添加日志。
  • 以这种方式添加: $debugBar->addATK4PersistenceSQLCollector($persistence);,它将为 Persistence\SQL 的实例添加日志。

除了添加日志外,不进行任何交互,仅添加对 Persistence\SQL 的每个 PDO 调用的 PHPDebugBar 日志

辅助工具

在初始化时,ATK4PHPDebugBar 将向 AppScope 添加 3 个动态方法

  • getDebugBar() : \DebugBar\DebugBar

    返回对象 \DebugBar\DebugBar

  • getDebugBarCollector($collector_name) : DebugBar\DataCollector\DataCollectorInterface

    简写为 \DebugBar\DebugBar::getCollector

  • hasDebugBarCollector($collector_name) : bool;

    简写为 \DebugBar\DebugBar::hasCollector

待办事项...

添加单元测试和更多示例