PHP code example of quietfrog / dependency-graph

1. Go to this page and download the library: Download quietfrog/dependency-graph library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

quietfrog / dependency-graph example snippets


$service1 = new YourService1();
$service2 = new YourService2();
$service3 = new YourService3();
$service4 = new YourService4();

$graph = new Graph();
$graph->add($service1)->add($service2)->add($service3)->add($service4);

$graph->addDependency($service1, $service2);
$graph->addDependency($service1, $service3);
$graph->addDependency($service2, $service4);
$graph->addDependency($service3, $service4);

$services = $graph->getUnresolvedDependencies(); // $service1
  $service1->doSomething();
$graph->markAsResolved($service1);
$services = $graph->getUnresolvedDependencies(); // $service2 and $service3
  $service3->doSomething();
$graph->markAsResolved($service3);
$services = $graph->getUnresolvedDependencies(); // $service2
  $service2->doSomething();
$graph->markAsResolved($service2);
$services = $graph->getUnresolvedDependencies(); // $service4
  $service4->doSomething();

$service1 = new YourService2();
$service2 = new YourService2();
$service3 = new YourService3();

$graph = new Graph();
$graph->add($service1)->add($service2)->add($service3);

$graph->addDependency($service1, $service2);
$graph->addDependency($service2, $service3);
$graph->addDependency($service3, $service1);