sebastian/object-graph
Provides useful operations on PHP object graphs.
Installation
You can add this library as a local, per-project dependency to your project using Composer:
composer require sebastian/object-graph
If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:
composer require --dev sebastian/object-graph
Usage
Object Graph Visualization with GraphViz
<?php declare(strict_types=1);
use function SebastianBergmann\ObjectGraph\object_graph_dump;
$cart = new ShoppingCart;
$cart->add(new ShoppingCartItem('Foo', new Money(123, new Currency('EUR')), 1));
$cart->add(new ShoppingCartItem('Bar', new Money(456, new Currency('EUR')), 1));
object_graph_dump('graph.png', $cart);
The object_graph_dump()
function supports the DOT Graph Description Language (.dot
), Portable Document Format (.pdf
), Portable Network Graphics (.png
), and Scalable Vector Graphics (.svg
) output formats.
The generation of PDF, PNG, and SVG files requires the GraphViz dot
binary to be on the $PATH
.