PHP提供了一些令人印象深刻的内省工具:get_defined_vars
,get_defined_functions
,get_defined_constants
,debug_backtrace
等。从本质上讲,它们提供了整个程序状态的视图:堆栈和堆。我想知道使用这些设施可以获得程序状态的完整视图。
范围内的堆和所有已定义的变量可以建模为带标签的有向图。例如,有可能写一些能给我Graphviz / DOT描述的东西吗?我正在想象类似于this article about 'How PHP manages variables'中的图表或the PHP manual page on garbage collection中的图表。
答案 0 :(得分:1)
结帐xdebug加上xdebug chrome扩展程序。 https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc?hl=en
扩展可用于启用php的分析/调试。您可以将其与eclipse或任何其他支持xdebug的ide进行链接以进行调试。
如果生成配置文件,可以将结果放入kcachegrind或wincachegrind,以获取内存分配的映射视图,每个函数所花费的时间以及其他内容。
答案 1 :(得分:1)
如果生成配置文件,可以将结果放入kcachegrind或wincachegrind,以获取内存分配的映射视图,每个函数所花费的时间以及其他内容。
答案 2 :(得分:0)
我不知道是否有任何现有工具,但您一定要查看xdebug profiler http://xdebug.org/docs/profiler以及kcachegrind。它将为您提供整个堆栈的可视化:调用的每个函数,调用它的次数以及它/它们花费的时间。
答案 3 :(得分:0)
get_defined_vars
get_defined_functions
get_defined_constants
有没有办法从php文件中获取用户定义的php函数,变量,常量?以下函数不是最好的方法,因为它们获得所有decalred函数/变量/常量(具有数百个php的内置常量和内部php函数