PHPのソースコードからクラス図をリバースエンジニアリングする php-class-diagram 【概要】

dddjava/Jig にインスパイヤされて作り始めた php-class-diagram の機能が大枠できてきたので、php-class-diagramを使ってできることを説明してみます。

概要

既存のPHPのソースコードをリバースエンジニアリングして、クラス図を生成するための PlantUMLのスクリプトを出力します。

概念図

設計とコーディングを同時に行なうことを助けます。また、既存のソースコードの解析に役立てることも可能です。

※ただし、依存の矢印を表示するためには、プロパティ宣言に型宣言(PHP7.4以降)か、PHPDocの@var コメントで型を明示してある必要があります。

PlantUML の利用方法

php-class-diagramは、PlantUMLを利用することが前提となります。PlantUMLを利用する選択肢は様々です。

dockerの環境があれば、PlantUML用のjava環境等の準備が不要になり、以下のコマンドで図を生成することが可能です。

php php-class-diagram.phar src | docker run --rm -i think/plantuml -tpng > output.png
php-class-diagram.phar
php-class-diagramのPHAR形式ファイル
src
解析対象のフォルダ

出力例

php-class-diagram自身のソースコードに対して、クラス図を生成しました。

フィールドとメソッドの情報を出力するかどうかは、オプションにより制御可能です。

コマンドラインで、対象フォルダのクラス図を作成できるので、CIに組込む等も可能です。

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.