abbadon1334 / atk4-phpdebugbar
ATK4 UI 与 PHPDebugBar
Requires
- php: >=7.2.0
- ext-pdo: *
- atk4/ui: dev-develop
- maximebf/debugbar: ^1.15@dev
Requires (Dev)
- atk4/data: dev-develop
- atk4/schema: dev-develop
- codacy/coverage: dev-master
- friendsofphp/php-cs-fixer: dev-master@dev
- monolog/monolog: ^2.0@dev
- phpmd/phpmd: 2.6.0
- phpmetrics/phpmetrics: dev-master@dev
- phpstan/phpstan: 0.11.9
- phpunit/phpunit: *
- squizlabs/php_codesniffer: 3.4.2
- symfony/yaml: ~2.1|~3.0|~4.0
- dev-master
- 1.0.0
- dev-renovate/atk4-ui-5.x
- dev-renovate/major-symfony
- dev-renovate/atk4-ui-4.x
- dev-renovate/major-phpstan-packages
- dev-renovate/monolog-monolog-3.x
- dev-renovate/phpstan-packages
- dev-renovate/phpstan-phpstan-1.x
- dev-renovate/atk4-ui-3.x
- dev-renovate/phpmd-phpmd-2.x
- dev-renovate/pin-dependencies
- dev-renovate/maximebf-debugbar-1.x
- dev-renovate/squizlabs-php_codesniffer-3.x
- dev-renovate/atk4-ui-2.x
- dev-renovate/phpstan-phpstan-0.x
- dev-fix-nested-page-pdo
- dev-abbadon1334-win-patch
- dev-abbadon1334-fix-wrong-namespace
- dev-develop
This package is auto-updated.
Last update: 2024-08-30 01:26:13 UTC
README
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 由三部分组成:相对路径
- 资源 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
待办事项...
添加单元测试和更多示例