ytake / starch
PHP 的依赖注入容器
1.0.0
2021-04-08 14:24 UTC
Requires
- php: ^8.0
- psr/container: ^1.0
Requires (Dev)
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^9.5
Provides
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();