usox/circulon

PHP 依赖解析器

1.0.0 2017-10-25 06:31 UTC

This package is auto-updated.

Last update: 2024-09-06 01:12:04 UTC


README

Build Status

需求

要在项目中使用 Circulon,您只需要 PHP 5.6 或更高版本。

Composer 安装

您可以使用 Composer 来安装此包。Packagist 链接:https://packagist.org.cn/packages/usox/circulon

composer require usox/circulon

使用方法

只需按照以下方式添加依赖项

$resolver = new \Usox\Circulon\Circulon();
$resolver
  ->addDependency('foo', 'bar')
  ->addDependency('foobar', [])
  ->addDependency('baz', [])
  ->addDependency('bar', ['baz', 'foobar']);

调用 resolve() 将按顺序返回依赖项。

$list = $resolver->resolve();

var_dump($list);

array(4) {
  [0] =>
  string(3) "baz"
  [1] =>
  string(6) "foobar"
  [2] =>
  string(3) "bar"
  [3] =>
  string(3) "foo"
}

循环依赖

$resolver
  ->addDependency('foo', 'bar')
  ->addDependency('bar', 'baz')
  ->addDependency('baz', 'foo');

$resolver->resolve();

Circulon 检测到循环依赖并将抛出包含消息 Circular reference for baz => fooCircularDependencyException 异常。