简单但有效的依赖注入库

v1.0.0 2022-09-15 08:02 UTC

This package is auto-updated.

Last update: 2024-09-15 12:40:35 UTC


README

简单但有效的依赖注入库

安装

使用composer安装

$ composer require progphil1337/php-di

兼容性

ProgPhil1337\DependencyInjection 需要 PHP 8.1(或更高版本)。

使用方法

基本示例

ExampleForm.php

use ProgPhil1337\DependencyInjection\ClassLookup;
use ProgPhil1337\DependencyInjection\Injector;

use MyApp\YamlConfig;
use MyApp\AbstractConfig;
use MyApp\SingletonInterface;

$lookup = new ClassLookup();
$injector = new Injector($lookup);

$lookup
    // class aliases
    ->alias(YamlConfig::class, AbstractConfig::class)

    // register singletons
    ->singleton(SingletonInterface::class)

    // Register classes that cannot be created
    ->register(new YamlConfig()) 
;

// Example for alias and registering
$yamlConfig = $injector->create(AbstractConfig::class);