sebastian/object-graph

Provides useful operations on PHP object graphs

3.0.0 2023-02-19 07:48 UTC

This package is auto-updated.

Last update: 2024-03-22 13:48:08 UTC


README

Minimum PHP Version Latest Stable Version CI Status Type Coverage Code Coverage

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);

Screenshot

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.