加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在Yii中转储变量以进行调试?

发布时间:2020-12-13 14:09:44 所属栏目:PHP教程 来源:网络整理
导读:如何在Yii中转储和打印变量以进行调试?我想使用var_dump()或print_r().我试图使用Yii :: trace()但它在runtime / logs / app.log中崩溃了这个错误.它甚至没有告诉我代码中的行失败. 2015-03-18 20:54:11 [::1][-][-][warning][yiilogDispatcher::dispatch
如何在Yii中转储和打印变量以进行调试?我想使用var_dump()或print_r().我试图使用Yii :: trace()但它在runtime / logs / app.log中崩溃了这个错误.它甚至没有告诉我代码中的行失败.
2015-03-18 20:54:11 [::1][-][-][warning][yiilogDispatcher::dispatch] Unable to send log via yiidebugLogTarget: 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): yiidebugLogTarget->export(Array)
#2 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2/log/Dispatcher.php(183): yiidebugLogTarget->collect(Array,true)
#3 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2/log/Logger.php(170): yiilogDispatcher->dispatch(Array,true)
#4 [internal function]: yiilogLogger->flush(true)
#5 {main}

参考
http://www.yiiframework.com/doc-2.0/guide-runtime-logging.html

因为你问的是像var_dump和print_r这样的东西,我可以为此建议内置帮助器.它被称为 yiihelpersVarDumper. Yii::trace()用于记录跟踪消息.

VarDumper is intended to replace the buggy PHP function var_dump and print_r.

It can correctly identify the recursively referenced objects in a
complex object structure. It also has a recursive depth control to
avoid indefinite recursive display of some peculiar variables.

VarDumper can be used as follows,

VarDumper::dump($var);

就个人而言,我不使用它,只是尝试了几次进行测试.

我认为最好将Xdebug用于此目的.

另见PsySH.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读