2010-02-23 119 views
16

寻找能够分析php代码(即所有wordpress或主题主题)的软件,并向我展示所有连接的漂亮图片(可能是block diagram),以帮助我更快地了解所处的位置以及与之相关的内容什么。是否有任何PHP代码可视化工具?

理想的情况下,该软件会在Mac上运行,但我会采取什么:在Windows,Linux,基于网络的,等等

+7

我觉得有某种根本性错误关于博客软件的需要你有一个PHP代码的可视化理解设计的主题。 – 2010-02-23 16:54:27

+1

http://www.nwiresoftware.com/想到。但它是商业的。 – Gordon 2010-02-23 17:00:03

+0

@约翰不是真的,但是当你刚开始的时候,你很难摆脱困境。我在一些项目中希望得到这样的东西,但是我自己记住了他们的结构。 – 2010-02-23 17:07:03

回答

1

BOUML可以使UML图从现有的PHP代码

+1

付费软件:( – sMyles 2014-01-22 02:27:38

+0

@Myles旧版本是免费的,也许你会发现它? – powtac 2014-01-22 15:31:02

4

[更新的:这个答案不处理命名空间,所以基本上是过时的。如果有人发现DOT方法很有趣,我会留在这里。]

这里有一个简单的方法来绘制PHP中的类继承。

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

此脚本适用于标准* nix(我使用Ubuntu)的PHP,安装了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

不错,谢谢。我调整了一些东西,包括抽象类。第一位变成'egrep -r“^(抽象类| class)”注意你可以链接更多的grep和grep -v的东西来限制你想要操作的类。 – dbu 2014-05-21 09:27:42

0

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

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

0

,这是值得做这样的区分:

班/你的PHP代码的方法(静态代码分析)
  • 图。这是你要求的东西。另外一个选项可能是PHPDependencyAnalysis,它是开源的。
  • 具有图形库的数据可视化/分析工具。一个很流行的工具是JGraph和像Sisense的那些有方便API可以用PHP来访问
相关问题