nfaiz/dbtoolbar

CodeIgniter 4 数据库调试工具栏查询高亮器。

v1.0.1 2024-04-22 05:53 UTC

This package is auto-updated.

Last update: 2024-09-22 06:45:45 UTC


README

GitHub GitHub repo size Hits

查询高亮器

描述

CodeIgniter 4 数据库调试工具栏查询高亮器。

目录

需求

安装

通过 composer 安装库

composer require nfaiz/dbtoolbar

查询高亮器位于 DbQueries 选项卡(调试工具栏)中

配置

删除默认数据库选项卡

  1. 打开 app/Config/Toolbar.php,并从 $collectors 属性中注释掉 Database::class
public array $collectors = [
    // Database::class,
];
  1. 打开 app/Config/Events.php,并注释掉 Events::on('DBQuery', 'CodeIgniter\Debug\Toolbar\Collectors\Database::collect');
if (CI_DEBUG && ! is_cli()) {
  // Events::on('DBQuery', 'CodeIgniter\Debug\Toolbar\Collectors\Database::collect');
  Services::toolbar()->respond();
}

修改设置。

打开 app/Config/Toolbar.php,并按照相应添加以下属性。

/**
 * -------------------------------------------------------------
 * Disable DbToolbar query Highlighter
 * -------------------------------------------------------------
 * 
 * To disable DbToolbar query highlighter, change value to true
 *
 * @var bool
 */
public bool $dbToolbarDisable = false;

/**
 * -------------------------------------------------------------
 * DbToolbar Theme
 * -------------------------------------------------------------
 * 
 * Configuration for light and dark mode SQL Syntax Highlighter.
 * Refer https://github.com/scrivo/highlight.php/tree/master/src/Highlight/styles or
 * use \HighlightUtilities\getAvailableStyleSheets(); for available stylesheets.
 *
 * @var array
 */
public array $dbToolbarTheme = [
    'light' => 'atom-one-light',
    'dark'  => 'atom-one-dark'
];

/**
 * -------------------------------------------------------------
 * DbToolbar View
 * -------------------------------------------------------------
 * 
 * To override DbToolbar SQL Syntax Highlighter view.
 *
 * @var array
 */
public string $dbToolbarTpl = 'Nfaiz\DbToolbar\Views\database.tpl';

/**
 * -------------------------------------------------------------
 * Bottom Margin Between Diplayed Query in Toolbar
 * -------------------------------------------------------------
 * 
 * Value in px
 * 
 * @var int
 */
public int $dbToolbarMarginBottom = 4;

/**
 * -------------------------------------------------------------
 * Log Queries
 * -------------------------------------------------------------
 *
 * Please set threshold to minimum 7 at app/Config/Logger.php
 * Logs can be found at ROOTPATH/writable/logs
 *
 * @var boolean
 */
public bool $dbToolbarLogger = false;

自定义语法高亮视图。

打开 app/Config/Toolbar.php,并使用 $dbToolbarTpl 属性添加/编辑模板视图文件。
您可以创建自己的视图并相应地更改它。例如 public $dbToolbarTpl = dbtoolbar/database;

Views/dbtoolbar/database.php。

{! hlstyle !}
<table>
    <thead>
        <tr>
            <th class="debug-bar-width6r">Time</th>
            <th>Query String</th>
        </tr>
    </thead>
    <tbody>
    {queries}
        <tr class="{class}" title="{hover}" data-toggle="{qid}-trace">
            <td class="narrow" style="vertical-align: top;">{duration}</td>
            <td><u>{trace-file}</u>{! sql !}</td>
        </tr>
        <tr class="muted debug-bar-ndisplay" id="{qid}-trace">
            <td></td>
            <td>
            {trace}
                {index}<strong>{file}</strong><br/>
                {function}<br/><br/>
            {/trace}
            </td>
        </tr>
    {/queries}
    </tbody>
</table>

屏幕截图

默认数据库工具栏

  • 浅色

Light mode

  • 深色

Dark mode

使用 DbToolbar

  • 浅色

Light mode

  • 深色

Dark mode

致谢