packagefactory / fusion-debug
提供用于在 Fusion 中调试内容的简单方法
Requires
- neos/fusion: ^5.0 || ^7.0 || ^8.0 || dev-master
Requires (Dev)
- jangregor/phpstan-prophecy: ^0.8.0
- mikey179/vfsstream: ^1.6
- neos/buildessentials: ^6.3
- phpstan/phpstan: ^0.12.82
- phpunit/phpunit: ^9.4
- spatie/phpunit-snapshot-assertions: ^4.2
- squizlabs/php_codesniffer: ^3.5
README
提供用于在 Fusion 中调试内容的简单方法
此包允许您以简单的方式在 fusion 中调试值
debug = ${Debug.var_dump(node).var_dump(request).die()}
安装
composer require --dev packagefactory/fusion-debug
转储值
var_dump
您可以使用 Debug.var_dump(...)
来显示您传递的第一个参数的调试信息。
var_dump = ${Debug.var_dump(myValue)}
Debug.var_dump(...)
接受以下参数
- $value : mixed - 要调试的值
- $title : string (可选) - 一个可读性强的标题,以便在拥挤的环境中更好地识别调试输出
- $plaintext : boolean (可选,默认 = false) - 如果为 true,则输出不会是 HTML,而是纯文本
- $pre : boolean (可选,默认 = true) - 如果为 true 并且 $plaintext 也为 true,则输出将用
<pre>
标签包装
要连续显示多个调试输出,可以任意链式调用 Debug.var_dump(...)
var_dump = ${Debug.var_dump(myValue).var_dump(myOtherValue)}
print_r
Debug.print_r(...)
是 PHP 标准库中 print_r
函数的一个小包装器。
print_r = ${Debug.print_r(myValue)}
但是,Debug.print_r(...)
的签名略有不同,并接受以下参数
- $value : mixed - 要调试的值
- $pre : boolean (可选,默认 = true) - 如果为 true,则输出将用
<pre>
标签包装
要连续显示多个调试输出,可以任意链式调用 Debug.print_r(...)
print_r = ${Debug.print_r(myValue).print_r(myOtherValue)}
var_export
Debug.var_export(...)
是 PHP 标准库中 var_export
函数的一个小包装器。
var_export = ${Debug.var_export(myValue)}
但是,Debug.var_export(...)
的签名略有不同,并接受以下参数
- $value : mixed - 要调试的值
- $pre : boolean (可选,默认 = true) - 如果为 true,则输出将用
<pre>
标签包装
要连续显示多个调试输出,可以任意链式调用 Debug.var_export(...)
var_export = ${Debug.var_export(myValue).var_export(myOtherValue)}
xdebug_var_dump
Debug.xdebug_var_dump(...)
是 XDebug PHP 扩展中 xdebug_var_dump
函数的一个小包装器。如果该扩展未启用,Debug.xdebug_var_dump(...)
将回退到 PHP 标准库中的 var_dump
函数。
xdebug_var_dump = ${Debug.xdebug_var_dump(myValue)}
但是,Debug.xdebug_var_dump(...)
的签名略有不同,并接受以下参数
- $value : mixed - 要调试的值
- $pre : boolean (可选,默认 = true) - 如果为 true,则输出将用
<pre>
标签包装
要连续显示多个调试输出,可以任意链式调用 Debug.xdebug_var_dump(...)
xdebug_var_dump = ${Debug.xdebug_var_dump(myValue).xdebug_var_dump(myOtherValue)}
调试 Fusion 对象
fusionPath
您可以使用 Debug.fusionPath(...)
来获取特定 fusion 对象的当前 fusion 路径(通常将是 this
)。
fusionPath = ${Debug.var_dump(Debug.fusionPath(this))}
Debug.fusionPath(...)
接受以下参数
- $fusionObject : AbstractFusionObject - 从中获取 fusion 路径的 fusion 对象(如有疑问,请使用
this
)
中断程序执行
exit
您可以使用 Debug.exit()
来完全停止 PHP 脚本的执行(与 PHP 标准库中的 exit
函数类似)。
Debug.exit()
不接受任何参数。
Debug.exit()
可以用于任何链式调用 Debug.var_dump(...)
、Debug.print_r(...)
、Debug.var_export(...)
或 Debug.xdebug_var_dump(...)
debug = ${Debug.var_dump(node).var_dump(request).die()}
die
Debug.die()
是 Debug.exit()
的别名。
贡献
我们将乐意接受贡献。请发送给我们 pull requests。
许可证
见 LICENSE