Overview
| Method | Description |
|:-------|:------------|
| add($items,$allowNumericitem=false)
| add |
| addItem($item,$_deps=null)
| addItem |
| sort
| sort |
| setItem($item,$_deps)
| setItem |
| prepNewItem($item,$_deps)
| prepNewItem |
| satisfied($item)
| satisfied |
| setSorted($item)
| setSorted |
| exists($item)
| exists |
| removeDependents($item)
| removeDependents |
| setCircular($item,$item2)
| setCircular |
| setMissing($item,$item2)
| setMissing |
| setFound($item,$item2)
| setFound |
| isSorted($item)
| isSorted |
| requiredBy($item)
| |
| isDependent($item,$item2)
| isDependent |
| hasDependents($item)
| hasDependents |
| hasMissing($item)
| hasMissing |
| isMissing($dep)
| isMissing |
| hasCircular($item)
| hasCircular |
| isCircular($dep)
| isCircular |
| getDependents($item)
| getDependents |
| getMissing($str=null)
| getMissing |
| getCircular($str=null)
| getCircular |
| getHits($str=null)
| getHits |
Simple
use Laradic\DependencySorter\Sorter;
$sorter = new Sorter();
$sorter->add('jquery');
$sorter->add('bootstrap', ['jquery']);
$sorter->add('bootstrap-switch', ['jquery', 'bootstrap']);
$sorted = $sorter->sort();
Using classes
use Laradic\DependencySorter\Dependable;
class Asset implements Dependable {
protected $name;
protected $dependencies = [];
public function __construct($name, array $dependencies = []){
$this->name = $name;
$this->dependencies = $dependencies;
}
public function getDependencies(){
return $this->dependencies;
}
public function getHandle(){
return $this->name;
}
}
$jquery = new Asset('jquery');
$bootstrap = new Asset('bootstrap', ['jquery']);
$bootstrapSwitch = new Asset('bootstrap-switch', ['jquery', 'bootstrap']);
$sorter = new \Laradic\DependencySorter\Sorter();
$sorter->add([ $jquery, $bootstrap, $bootstrapSwitch ]);
$sorted = $sorter->sort();