sbs / yii-debug-toolbar
Yii 1.1 的调试面板(从 Yii 2 转移而来)
1.5.7
2020-01-31 12:52 UTC
Requires
- php: >=5.6
- yiisoft/yii: >=1.1.15
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
README
Yii 1.1 的调试面板(从 Yii 2 转移而来)。
安装
此扩展可在 packagist.org 获取,可以通过以下命令通过 composer 安装:
composer require --dev sbs/yii-debug-toolbar
.
要在应用程序中启用工具栏,请在配置中添加以下行:
return [ 'preload' => ['debug'], 'components' => [ 'debug' => [ 'class' => 'Yii2Debug', ], 'db' => [ 'enableProfiling' => true, 'enableParamLogging' => true, ], ], ];
配置
您可以使用以下选项自定义调试面板的行为
enabled
- 启用/禁用调试面板。allowedIPs
- 允许访问调试工具栏的 IP 列表。默认['127.0.0.1', '::1']
。accessExpression
- 用于访问评估的附加 PHP 表达式。logPath
- 存储调试数据文件的目录。可以使用路径别名指定。默认/runtime/debug
。historySize
- 保留的调试数据文件的最大数量。如果生成的文件更多,则最旧的文件将被删除。highlightCode
- 突出显示代码。突出显示 SQL 查询和 PHP 变量。此参数可以为每个面板单独设置。moduleId
- 查看存储的调试日志的模块 ID。默认debug
。showConfig
- 显示简短的应用程序配置页面。默认false
。hiddenConfigOptions
- 要隐藏的不安全组件选项列表(如登录、密码、密钥)。默认隐藏db
组件的username
和password
。internalUrls
- 在调试模块中使用漂亮的路由规则。panels
- 调试面板列表。
每个附加的面板都可以单独配置,例如
'debug' => [ 'class' => 'Yii2Debug', 'panels' => [ 'db' => [ // Disable code highlighting. 'highlightCode' => false, // Disable substitution of placeholders with values in SQL queries. 'insertParamValues' => false, ], ], ]
每个面板都有回调选项 filterData
。您可以在将输入数据写入调试日志之前定义自定义函数以过滤输入数据。这对于需要隐藏某些秘密或只是从日志中删除数据很有用。在处理数据结构时要小心。这可能导致日志解析错误。
示例
'debug' => [ 'class' => 'Yii2Debug', 'panels' => [ 'db' => [ 'filterData' => function($data) { // Your code here return $data; } ], ], ]
创建自己的面板
要创建自己的调试面板,可以扩展类 Yii2DebugPanel
,例如
class MyTestPanel extends Yii2DebugPanel { /** * The name of panel printed in debugger */ public function getName() { return 'Name'; } /** * Return summary html with results of execution in current request. * Data is available through $this->data */ public function getSummary() { return ''; } /** * Return detailed html report with results of execution in current request. * Data is available through $this->data */ public function getDetail() { return ''; } /** * Return data required for storing in logs. */ public function save() { return array(); } }
并在配置中附加此面板
'panels' => [ 'test' => [ 'class' => 'path.to.panel.MyTestPanel', // ... ], ],
禁用单个面板
要禁用单个面板(无论是核心还是自定义面板),请将面板配置中的 enabled
属性设置为 false
。
示例:禁用核心 profiling
面板
'panels' => [ 'profiling' => [ 'enabled' => false, // ... ], ],
变量转储
使用静态方法 Yii2Debug::dump()
,您可以将任何数据转储并稍后在调试日志中检查它。