aaemnnosttv / dev-debug
WordPress 开发调试功能
Requires
- composer/installers: ^1.0
This package is auto-updated.
Last update: 2024-09-19 03:34:39 UTC
README
一个用于开发插件的 WordPress 插件。
Dev Debug 提供了一些方便的函数,用于分析您的代码并提供一些有用的反馈。
为了在早期插件执行中使用,Dev Debug 需要先包含。因此,Dev Debug 被设计为一个 MU 插件,但它也可以作为正常插件安装。
免责声明:此插件是一个实用的工具。它不打算作为真实调试解决方案(如 Xdebug)的替代品。如果您不知道 xdebug 能做什么,请立即放下手头的事情并查看它。稍后您会感谢我的 😄
基本用法
非持久数据捕获
Dev Debug 的主要功能本质上是一个超级 var_dump。想转储变量/表达式的内容?
只需使用 ddprint( $somevariable );
,您将在页面底部看到一个漂亮的转储。
示例
// some test in your plugin or theme's functions.php add_action( 'wp_head', function() { ddprint( get_queried_object() ); } );
想为转储标记标签? ddprint( $data, $label )
(标签默认为 $data
的数据类型)。当一次性捕获多个项目时很有用,例如:在循环中。
每个转储都会在已加载页面的底部作为单独的面板显示,无论您在 WP 中的位置如何。默认的转储表示形式是 var_export
,但您可以在 var_dump
和 print_r
之间切换(我发现它们各有用途)。
每个转储还有一个完整的综合性感回溯,您可以通过面板右上角的切换按钮来揭示。
在 AJAX 请求和媒体上传期间会抑制捕获输出,以防止输出干扰预期的返回数据。
持久捕获
Dev Debug 还提供了两个函数,用于在 ddprint()
无法工作的环境中捕获数据,例如 AJAX 请求。
sdt()
sdt( $data, $label = 'optional' );
此函数将捕获数据保存为短暂。只要数据仍然设置,捕获输出将与其他捕获一起显示。
sdt()
捕获的默认生存期为 2 分钟。
ddlog()
ddlog( $data, $label = 'optional' );
此函数将数据写入日志文件。默认情况下,文件位于 wp-content/.htdev-debug.log
。如果需要,可以使用 ddbug/logging/path
过滤器更改目标目录。
大多数标准的 Apache 和 Nginx 配置都包括规则以阻止对以
.ht
开头的文件的外部访问,例如.htaccess
和.htpasswd
。由于.htdev-debug
文件可能包含非常敏感的信息,因此不建议在生产环境中使用,但是此文件名旨在保护那些选择走在野路上的人的不受授权访问。
钩子检查
您是否想知道在特定动作或过滤器期间到底发生了什么?
ddhook('the_content')
ddhook
函数将产生所有附加到给定钩子的回调的非持久捕获。它还可以配置为监听传递的特定数量的参数,并提供传递给回调的参数的附加捕获。
菜单项
Dev Debug 还添加了一个管理菜单项,用于清除设置的持久调试捕获,以及一个非常易访问的常量列表。
具有真值的常量为绿色,假值是灰色,未定义的则是模糊/斜体,以便快速参考。鼠标悬停时也可以看到常量的值。
调试栏
Dev Debug 默认与 调试栏 插件集成,通过向其覆盖层添加面板来显示捕获的转储,以及快速访问 Dev Debug 日志。
安装
Dev Debug 可以通过几种不同的方式进行安装。
通过 Composer
使用 composer require aaemnnosttv/dev-debug
将最新版本的软件包添加到您的项目中,并将其作为 MU 插件安装。
通过 Git
将项目克隆到以下任意位置:
{path-to-wp-content}/mu-plugins
{path-to-wp-content}/plugins
git clone git@github.com:aaemnnosttv/dev-debug.git
手动安装
- 下载所需的版本.
- 将目录提取到上面列出的两个目录之一。
- 如果尚未重命名,可选地将其目录重命名为
dev-debug
。
关于作为 MU 插件安装的说明
WordPress 只加载位于 mu-plugins
目录根目录中的插件。它不会像处理 plugins
一样递归到子目录。这意味着您需要自己加载主要插件文件。
为 Dev Debug 创建简单的 MU 加载器
在 mu-plugins
目录的根目录中创建一个名为 load-dev-debug.php
的文件。添加以下代码:
if ( file_exists( __DIR__ . '/dev-debug/dev-debug.php' ) ) require_once ( __DIR__ . '/dev-debug/dev-debug.php' );
加载器文件的名称可以是任意的,但 WordPress 将按字母顺序加载它。因此,如果您想在另一个 MU 插件中提供 Dev Debug 函数,只需确保它首先加载即可。