はじめに
オブジェクト同士の関係が複雑になってくると関係を楽に把握したくなります。
BEAR.Sunday の生みの親である郡山さん(@koriym)が公開されている print_o を使用することでオブジェクト同士の関係を可視化できるので、関係の把握が楽にできるようになります。
使い方は簡単なのでReadmeを読めば理解できると思いますがやってみます。
インストール
composer require --dev koriym/printo
可視化対象
new A(
new B(
new E(
new F(),
new G(
new H(
new L(),
new M(
new N()
)
),
new I()
),
new J(),
new K()
)
),
new C(
new D()
)
);
オブジェクトグラフ生成
/** @var A $object */
$object = (new ObjectGraphService())->graph(); // 可視化対象を返す処理
$graph = (new Printo($object))
->setLinkDistance(200)
->setCharge(-2000);
file_put_contents('/var/www/html/docs/graph.html', $graph);
可視化
出力されたhtml
を開きます。
オブジェクト同士の関係が可視化できました。
複雑なオブジェクトの関係を可視化したい時に使ってみるとよさそうですね。