PhpDev.App
sebastianbergmann/object-graph

sebastianbergmann/object-graph

Stars: 452

Forks: 16

Pull Requests: 8

Issues: 4

Watchers: 21

Last Updated: 2023-08-30 12:41:25

Provides useful operations on PHP object graphs

License: BSD 3-Clause "New" or "Revised" License

Languages: PHP

sebastian/object-graph

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.

OPEN ISSUES

See all

RELEASES

See all