nfaiz / dbtoolbar
CodeIgniter 4 数据库调试工具栏查询高亮器。
v1.0.1
2024-04-22 05:53 UTC
Requires
- codeigniter4/framework: ^4.1.7
- scrivo/highlight.php: ^9.18
README
查询高亮器
描述
CodeIgniter 4 数据库调试工具栏查询高亮器。
目录
需求
安装
通过 composer 安装库
composer require nfaiz/dbtoolbar
查询高亮器位于 DbQueries 选项卡(调试工具栏)中
配置
删除默认数据库选项卡
- 打开
app/Config/Toolbar.php,并从$collectors属性中注释掉Database::class。
public array $collectors = [ // Database::class, ];
- 打开
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>
屏幕截图
默认数据库工具栏
- 浅色
- 深色
使用 DbToolbar
- 浅色
- 深色
致谢
- 受此 pull request 启发



