sebastian / object-graph
Provides useful operations on PHP object graphs
Fund package maintenance!
sebastianbergmann
Installs: 28 050
Dependents: 0
Suggesters: 0
Security: 0
Stars: 459
Watchers: 22
Forks: 14
Open Issues: 1
Requires
- php: >=8.1
- sebastian/object-enumerator: ^5.0
- sebastian/object-reflector: ^3.0
README
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
.