有没有PHP代码可视化工具?

寻找可以分析php代码(即所有wordpress或主题主题)并向我展示所有连接的漂亮图片(也许是框)的软件,以帮助我更快地了解事物的位置以及与什么相关的内容。

理想情况下,该软件可以在Mac上运行,但我会采用任何东西:Windows,Linux,基于Web等。


答案 1
  • KCachegrind - 使用Xdebug,您可以分析脚本的执行,KCachegrind可以从这里生成一些非常棒的调用图
  • nwire for Eclipse

答案 2

[更新:此答案不处理命名空间,因此基本上已过时。我会把它留在这里,以防有人觉得DOT方法很有趣。

这是在 PHP 中绘制类继承图的简单方法。

Grep 用于类定义,然后将 grep 输出转换为 DOT 语法。注意:此过程需要根据您的情况进行反复试验。单独运行 grep,并在将其放入脚本之前对其进行调整以显示正确的类定义行!

这个脚本是针对标准*nix上的PHP(我使用Ubuntu),安装了graphviz,并使用grep -v排除一些不感兴趣的目录,因为我正在查看CakePHP代码库。在这种情况下,Fdp比sfdp,dot,circo或neito工作得更好。

创建 generateClassHierarchy.sh

#!/bin/bash
echo 'digraph code {' > code.dot;
grep -r "^class " * | grep -v "^app/vendors" | grep -v "^cake/" | grep -v "Binary file" | sed 's/.*://' | sed 's/class /    /' | sed 's/ extends / -> /' | sed 's/ implements .*//'  | sed 's/ \?{.*$//' | sort >> code.dot  
echo '}' >> code.dot; 
fdp -Tpng -ocode.fdp.png code.dot 2> /dev/null # Ignore syntax error
echo "OK"; 

然后就这样:

cd /var/www/my_app/                     # or wherever
bash ~/shell/generateClassHierarchy.sh  # or wherever
eog code.fdp.png 

将 eog 替换为您的首选图像查看器。我已经在Zend Framework上运行了这个作为测试,并生成了一个22兆字节的PNG图。在Zend_Db上运行它向您展示了以下内容(示例在我的网站上):

http://chapman.id.au/generate-php-class-inheritance-diagrams-in-graphviz


推荐