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

时间:2010-02-23 16:51:32

标签: php visualization data-visualization

寻找将分析PHP代码(即所有wordpress或主题主题)的软件,并向我展示所有连接的漂亮图片(可能是block diagram),以帮助我更快地了解事物的位置是什么和什么有关。

理想情况下,这个软件可以在Mac上运行,但我会采取任何措施:Windows,Linux,基于网络等。

6 个答案:

答案 0 :(得分:4)

  • KCachegrind - 使用Xdebug,您可以分析脚本的执行情况,KCachegrind可以从此生成一些非常棒的call graphs
  • Eclipse的
  • nwire

答案 1 :(得分:4)

[更新:此答案不处理名称空间,因此基本上已过时。如果有人发现DOT方法很有趣,我会把它留在这里。]

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

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

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

创建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

答案 2 :(得分:2)

可能http://phpcallgraph.sourceforge.net/进行静态分析。

它可以输出各种格式。

答案 3 :(得分:1)

BOUML可以使用现有的PHP代码制作UML图表

答案 4 :(得分:0)

nWire已过时,不支持最新的PHP版本(名称空间)。 Visual Paradigm的社区版本对于非商业项目是免费的,但在最新的PHP版本上也是失败的。

phUML是非常有用的免费工具它不再维护了,但仍适用于PHP 5. Mac用户也应安装graphviz

答案 5 :(得分:-2)

尝试 JB Graph

如果您使用java脚本,请尝试使用D3.js

https://d3js.org/