ytake/starch

PHP 的依赖注入容器

资助包维护!
ytake

1.0.0 2021-04-08 14:24 UTC

This package is auto-updated.

Last update: 2024-09-11 19:56:31 UTC


README

PHP 的依赖注入容器。
不支持自动绑定。

要求

PHP 8.0 及以上。

安装

Composer 是推荐的安装方法。
要将 Ytake\Starch 添加到您的项目中,
请将以下内容添加到您的 composer.json 中,然后重新运行 composer

{
  "require": {
    "ytake/starch": "^1.0"
  }
}

使用 PHP 运行 Composer 命令,例如

$ composer install

$ composer require ytake/starch

用法

第一步

创建类

interface AnyInterface 
{

}
final class Any implements AnyInterface 
{
  // any
}

绑定

use Ytake\Starch\Container;
use Ytake\Starch\Scope;

$container = new Container();
$container->bind(AnyInterface::class)
  ->to(Any::class)
  ->in(Scope::PROTOTYPE);

依赖项将被自动解析

$container->get(AnyInterface::class);

作用域

使用 Ytake\Starch\Scope 类。

提供者

使用 Ytake\Starch\ProviderInterface。

use Ytake\Starch\ProviderInterface;

final class AnyProvider implements ProviderInterface {

  public function get(): AnyInterface {
    return new Any();
  }
}
$container->bind(AnyInterface::class)
  ->provider(new AnyProvider();