如何在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}
Run Code Online (Sandbox Code Playgroud)
参考 http://www.yiiframework.com/doc-2.0/guide-runtime-logging.html
aro*_*hev 10
因为你询问像var_dump和print_r,我可以为这个建议内置的辅助.它被称为yii\helpers\VarDumper.Yii :: trace()用于记录跟踪消息.
VarDumper旨在取代有缺陷的PHP函数
var_dump和print_r.它可以正确识别复杂对象结构中的递归引用对象.它还具有递归深度控制,以避免无限递归显示某些特殊变量.
VarDumper可以如下使用,
VarDumper::dump($var);
Run Code Online (Sandbox Code Playgroud)
就个人而言,我不使用它,只是尝试了几次进行测试.
我认为最好将Xdebug用于此目的.
另见PsySH.