sebastian / object-graph
Provides useful operations on PHP object graphs
                                    Fund package maintenance!
                                                                            
                                                                                                                                        sebastianbergmann
                                                                                    
                                                                            
                                                                                                                                        Liberapay
                                                                                    
                                                                            
                                                                                                                                        Thanks Dev
                                                                                    
                                                                            
                                                                                                                                        Tidelift
                                                                                    
                                                                
Installs: 30 868
Dependents: 0
Suggesters: 0
Security: 0
Stars: 458
Watchers: 20
Forks: 14
Open Issues: 1
pkg:composer/sebastian/object-graph
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.