cviniciussdias/dependency-resolver

依赖解析器。一个用于解析类依赖关系并自动实例化的简单组件。

v1.0.4 2017-04-22 23:05 UTC

This package is not auto-updated.

Last update: 2024-09-18 20:27:58 UTC


README

🛑 注意!

此项目仅用于教学目的,因此不应在生产环境中运行。

描述

这是一个简单的依赖解析器,用于解析类依赖关系并自动实例化它们。

安装

使用以下命令安装最新版本:

$ composer require cviniciussdias/dependency-resolver

用法

<?php
use CViniciusSDias\DependencyResolver\Resolver;

// Classes definitions
class Class1
{
    private $class2;

    public function __construct(Class2 $class, Class3 $class3)
    {
        echo $class3->method();
        $this->class2 = $class;
    }

    public function test()
    {
        echo $this->class2;
    }
}

class Class2
{
    public function __construct(Class3 $test, $param = 'default value')
    {
        echo $param . PHP_EOL;
    }

    public function __toString()
    {
        return 'Class2::__toString()';
    }
}

class Class3
{
    public function __construct($paramWithoutDefaulValue)
    {
    }

    public function method()
    {
        return 'Class3::method()' . PHP_EOL;
    }
}

// Resolver usage
$resolver = new Resolver();
$resolver->setParameters(Class3::class, ['paramWithoutDefaulValue' => 'manual value']);
$class1 = $resolver->resolve(Class1::class);
$class1->test();

作者

Vinicius Dias - carlosv775@gmail.com - https://github.com/CViniciusSDias/

许可证

此组件受GPL许可证的许可