19

PHP コード (つまり、すべてのワードプレスまたはテーマのテーマ) を分析し、すべての接続のきれいな写真 (おそらくブロック図) を表示して、物事がどこにあり、何が何に接続されているかをより迅速に理解するのに役立つソフトウェアを探しています。 .

理想的には、このソフトウェアは Mac で動作しますが、Windows、Linux、Web ベースなど、何でも構いません。

4

6 に答える 6

4
  • KCachegrind - With Xdebug you can profile the execution of your scripts, KCachegrind can generate some pretty awesome call graphs from this
  • nwire for Eclipse
于 2010-02-23T16:55:02.047 に答える
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

于 2012-11-26T23:44:26.940 に答える
2

静的分析についてはhttp://phpcallgraph.sourceforge.net/かもしれません。

さまざまなフォーマットで出力できます。

于 2011-03-23T08:42:50.950 に答える
1

BOUMLは、既存の PHP コードから UML ダイアグラムを作成できます

于 2011-03-23T09:05:24.430 に答える
-4

JBグラフを試す

Javaスクリプトが得意な場合は、D3.jsを試してください

https://d3js.org/

于 2016-03-15T06:46:42.377 に答える