我正在尝试调试此代码:
public function removeBlankLines() { $this->qp->find('br'); } // <-- break point is here
当我深入到$ this对象(使用phpStorm)时,我看不到我感兴趣的子数组.它只显示"无法获取属性"截图:
我正在"侦听调试连接"功能.我正在从命令行运行脚本.PHP版本:
[bwood@mbp ~]$ php -v PHP 5.4.24 (cli) (built: Jan 19 2014 21:32:15) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
也许相关:http://bugs.xdebug.org/view.php?id = 996?
http://bugs.xdebug.org/view.php?id=686
这是怎么一回事这样的类(SplObjectStorage
,ArrayObject
和一样)实现内部:
这是因为SplObjectStorage类的对象不是用户登陆的PHP对象,而是特殊的超级内部PHP对象.许多其他内部PHP类也会发生类似的情况.
AFAIK无法在PhpStorm方面做任何事情,直到xdebug能够"支持"它们.
更新:前面提到的xdebug票证已经解决了xdebug 2.3.3(最新的稳定xdebug版本是2.4.1),应该可以在调试器中查看这些类.
将xdebug升级到版本2.3.3,它修复了问题 http://bugs.xdebug.org/view.php?id=686#c3116
如果您正在运行vagrant,请确保在
vagrant虚拟机中升级xdebug .
升级说明可以从http://xdebug.org/wizard.php获得
如果不能选择升级,则可以将内容作为最后的
手段进行转储.
在评估表达式时,你可以尝试类似的东西
file_put_contents('dump.txt',var_export($ requiredVariable,true));