【发布时间】:2016-11-17 10:34:52
【问题描述】:
最近 PHP(当前使用 5.6.23)中的 var_dump() 开始在实际转储我的变量之前打印出文件名和行号。我不知道服务器上有任何重大变化,所以我想知道为什么会发生这种情况,也没有在网络上或 PHP 文档中找到 (var_dump())
使用命令行时也会出现奇怪的行为:
> php -r 'var_dump("lol");'
Command line code:1:
string(3) "lol"
虽然我只是习惯了 "string(3) "lol"" 被打印出来。
这不是一个炫技,但破坏了我的几个单元测试,我需要比较使用 var_dump() 打印的 API 的一些输出。 我一开始以为可能和xdebug有关,但是找不到任何似乎与这个问题有关的指令。
感谢任何导致此问题的提示。
【问题讨论】:
-
您已启用
xdebug。我尝试了 2 个版本的 PHP,一个有,另一个没有。带有xdebug的结果与您发布的结果相同。 -
来自derickrethans.nl/xdebug-2.3-overload-vardump.html,Xdebug 2.3 增强了 var_dump() 的重载,包括调用 var_dump() 的文件名和行号。
-
@nerdlyist - 你为什么不用一些代码来支持你的声明,这些代码展示了如何使用访问器以及如何对它们进行断言?