object-graph
object-graph copied to clipboard
Provides useful operations on PHP object graphs
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.