almostanything / dependency-graph
A simple dependency graph data structure
Installs: 26
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
pkg:composer/almostanything/dependency-graph
Requires
- php: >=5.3.2
Requires (Dev)
- phpunit/phpunit: 4.4.*
This package is not auto-updated.
Last update: 2025-10-15 12:34:58 UTC
README
A dependency graph data structure.
Usage
Basic Usage
use AlmostAnything\DependencyGraph\DependencyGraphNode as Node; $jq = new Node('jquery.js'); $bs = new Node('bootstrap.js'); $dp = new Node('datepicker.js'); $jq->addChild($bs); $dp->addParents($bs, $jq); $graph = $jq->getGraph(); // returns an instance of DependencyGraph var_dump($graph->topologicalSort());
Dependency Graphs can be disconnected so you may want to provide a DependencyGraph instance.
use AlmostAnything\DependencyGraph\DependencyGraphNode as Node; use AlmostAnything\DependencyGraph\DependencyGraph as Graph; $graph = new Graph(); $jq = new Node('jquery.js', $graph); $pt = new Node('prototype.js', $graph); $jq->addChild(new Node('bootstrap.js')); // $graph will be automatically set on child $pt->addChild(new Node('pt-typeahead.js');