如何在Yii中转储和打印变量以进行调试?我想使用var_dump()
或print_r()
。我尝试使用Yii::trace()
,但它在runtime/logs/app.log
中出现此错误。它甚至没有告诉我代码中的哪一行它失败了。
2015-03-18 20:54:11 [::1][-][-][warning][yii\log\Dispatcher::dispatch] Unable to send log via yii\debug\LogTarget: Exception 'Exception' with message 'Serialization of 'SimpleXMLElement' is not allowed'
in /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2-debug/LogTarget.php:58
Stack trace:
#0 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2-debug/LogTarget.php(58): serialize(Array)
#1 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2-debug/LogTarget.php(112): yii\debug\LogTarget->export(Array)
#2 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2/log/Dispatcher.php(183): yii\debug\LogTarget->collect(Array, true)
#3 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2/log/Logger.php(170): yii\log\Dispatcher->dispatch(Array, true)
#4 [internal function]: yii\log\Logger->flush(true)
#5 {main}
参考http://www.yiiframework.com/doc-2.0/guide-runtime-logging.html
7条答案
按热度按时间ryevplcw1#
因为你正在询问类似
var_dump
和print_r
的东西,我可以建议使用内置的helper。它被称为yii\helpers\VarDumper。Yii::trace()用于记录跟踪消息。VarDumper旨在替换有缺陷的PHP函数
var_dump
和print_r
。它能正确识别复杂对象结构中的递归引用对象。它还具有递归深度控制,以避免某些特殊变量的不确定递归显示。
VarDumper可以如下使用,
就我个人而言,我不使用它,只是尝试了几次测试。
我认为最好使用Xdebug。
参见PsySH。
pinkon5k2#
使用这个:
68de4m5k3#
我用了这个,但我相信还有更好的办法。
config/web.php
5gfr0r5j4#
使用这个,查看你的变量或对象数组。
use yii\helpers\VarDumper;
VarDumper::dump($variableArray , $dept = 10, $highlight = true);
详情请参阅http://www.yiiframework.com/doc-2.0/yii-helpers-basevardumper.html#dump()-detail
kgsdhlau5#
你可以自己做:在主索引页(
back/index.php
或front/index.php
)中,将此代码添加到顶部ob_start();
。然后定义2个函数以便更好地调试并在主索引页的最后添加
ob_end_flush();
。现在您可以调用dd($model)
或dj($model)
。你的翻斗车还在工作。恭喜!guz6ccqo6#
安装tracy\tracy。最佳调试器
return($var); return($var)// dump in bar
kpbpu0087#
我写过一篇关于Yii 2中调试变量的文章:
因为为了简单和快速开发,我为那些使用Yii的人创建了一个帮助器。你可以调用
dd($var1, $var2, ….);
来处理dump & die,或者调用d($var1, $var2, ….);
来处理dump data。详细信息和安装说明请参阅:https://dangnhsite.wordpress.com/2016/04/06/variable-debug-in-yii-2/