PHP_UML は、 リバースエンジニアリングやドキュメント作成のためのツールです。
PHP のファイルやディレクトリをパースし、 パースしたコードに対応する XMI ファイルを生成します。
XMI は OMG の標準規格で、 XML を用いてメタデータ情報を交換します。 一般的に、UML のモデルをやりとりするためのフォーマットとして用いられています。 UML を扱うソフトウェアの多くが、XML ファイルのインポートやエクスポートに対応しています。
PhpDocumentor と同様、 PHP_UML は PHP のクラスやインターフェイス、 プロパティそして関数をパースすることができます。 また、ドキュメントブロックのインラインコメントから @package や @var、@param といった情報を取得します。
@param および @var からは、パラメータやプロパティの型についての情報を取得します。
@package からは、パッケージの階層構造を取得します。
PHP コードのドキュメントをきちんと書けば書くほど、 より正確な XMI ファイルができあがるというわけです。
現時点では、UML/XMI の標準規格には 1.4 および 2.1 のふたつのバージョンがあります。 PHP_UML は、どちらのバージョンの XMI でも生成することができます。 しかし、使用する UML ツールによっては生成した XMI ファイルをうまく扱えない可能性があることに注意しましょう。 たとえば、UML artifact (ソースファイル) とそこで定義されている論理要素のリンクは UML バージョン 2 でしか扱えません。
例 58-1単一のファイル test.php のパースと XMI ファイルの生成
|
UML はオブジェクト指向の標準規格なので、 PHP_UML はグローバル関数やグローバル定数といった "手続き型" の要素は一切無視することに注意しましょう。