biskyt/yii-debug-toolbar

Yii 1.1 的调试面板(移植自 Yii 2),已更新以支持 PHP 8.1+

安装次数: 13,332

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 0

分支: 41

类型:yii-extension

1.5.8 2024-05-13 11:29 UTC

This package is auto-updated.

Last update: 2024-09-13 12:24:01 UTC


README

Yii 1.1 的调试面板(移植自 Yii 2)。已更新以解决与 PHP8.1+ 的兼容性问题。从 https://github.com/koftikes/yii-debug-toolbar 分支而来

Latest Stable Version Total Downloads

安装

此扩展可在 packagist.org 获取,并通过以下命令使用 composer 安装:

composer require --dev biskyt/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 组件的 usernamepassword
  • 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(),您可以转储任何数据并在稍后调试日志中检查它。