PHP调试类-打印所有内容


PHP Debugging Classes - Print everything

我正试图找出一个大的PHP库,但它并没有得到很好的文档记录。我想知道是否有办法把课堂上的一切都打印出来。例如,我使用get_class_methods()函数来打印该类的方法,它只打印出该类的一个区域。我也想看看该类中对象中的所有方法。如果能看到变量和其他一切,那就太好了。通过这种方式,我可以打印出所有内容,然后使用浏览器的搜索来查找我需要的东西。这可能吗,或者有没有一种方法已经做到了?我对PHP不是很精通,所以如果你能给我一个函数,那就太棒了。

PHP有一个名为Reflection的内置库,它允许您以复杂的细节分析类和对象。

你可以得到类中的所有方法,比如:

<?php 
$class = new ReflectionClass('Apple');
$methods = $class->getMethods();
var_dump($methods);

对于类属性(成员变量):

<?php 
$class = new ReflectionClass('Apple');
$properties = $class->getProperties();
var_dump($properties);

一个好的IDE将帮助您浏览代码,启动调试会话,并在执行时检查属性值。

几年前我就爱上了PHPStorm,直到今天它还是我最喜欢的IDE。它甚至有一个模拟Vim=)的Vim插件

IDE上有一个Structure视图,它显示了文件的代码结构。这意味着打开的类文件的每个属性和方法。有一个类似于目录浏览器的Project视图。

第二个建议是安装ack(http://www.beyondgrep.com)。PHPStorm有一个非常有效的搜索机制,但有时您只想在项目的整个子目录中搜索正则表达式。这也是一个整洁的工具。

我的两美分。:)