状況
Zend Naming Conventionに従って、多くのフォルダーに多くの関係を持つ多くのクラスを持つ PHP プロジェクトがあります。
NetBeans IDE 7.1 を使用しています。私はWindows 7の下で働いています。
ゴール
クラスの関係をグラフィカルに表示する必要がありますが、さまざまな深さと複雑さの度合いが異なる可能性があります。また、ダイアグラム内のクラスがクリック可能であるとよいでしょう。必ずしもドキュメントを生成する必要はありません。
試み
1. NetBeans 内
NetBeansは、多くの機能を備えた優れた IDE です。実際、クラスの依存関係を認識し、この関係をネイティブに、またはプラグインを介してグラフィカルに表示する何らかの方法があると想定するのが賢明です。このようなプラグインは存在しますが、バージョン 5.5 用です。私は7.1を持っていますが、互換性がありません。失敗。
2. エンタープライズ アーキテクト
簡単な Google 検索で、このような問題を解決するためのすべての機能を備えた完全に包括的なツールとしてEnterprise Architectが表示されます。ということで、ダウンロードしてインストール。どのようにすればよいのか理解できなかったことや、ソフトウェアでできることをチュートリアルが自慢している方法については詳しく説明しませんが、その方法についてはめったに述べません。
というわけで、ソースをインポートしました。多くの異なるクラスを生成し、すべてのメンバーを解析しました。また、クラス図を生成しました。「パーフェクト!」と思いましたが、残念です。クラス ダイアグラムは、クラスのプロパティに関係が視覚的に登録されているにもかかわらず、ファイルが同じソース フォルダーにあるクラス間の関係のみを示します。これらすべてのダイアグラムを 1 つにマージする方法に関するドキュメントの検索は成功しませんでした。失敗。
注: このスレッドの前に並列スレッドを作成しました。
3.PHP_UML
この PEAR ツールを見つけました。よさそうだった。そのため、さまざまなソースからセットアップ用にインストールする方法に関するドキュメントを読み、実行しました。まず、html出力形式を使用しました。すごい!ブラ ブラ ブラ インデックス付きのドキュメントがたくさんあります。しかし、私が望む方向にそれができる最善のことは次のとおり
です。結論:失敗。
4. エンタープライズ アーキテクト + PHP_UML
ただし、PHP_UML は XMI も生成できます。わお。非常に素晴らしい。人間関係を保存し、さまざまな方法でそれらを表示し、他の人と交換することができます。
そこで、Enterprise Architect にインポートしました。結果: 以前と同じように Enterprise Architect だけで、クラス図はありません。ちょうどクラス。私が読んだ限りでは、関係を手動で作成できるようになりました。エピック失敗。
5. ArgoUML + PHP_UML
解決策を探しているうちに、ArgoUMLを使用しているというコメントを見つけました。ダウンロードしてインストールしました。XMI のインポートには手間がかかりました (バージョンを明示的に 1 に変更する必要がありました)。失敗します (試行 3 を参照)。
結論
このような一見些細な作業ですが、非常に困難です。各アプリケーションを試して、このリスト全体を確認する必要がありますか?