merophp/object-manager

Merophp 框架的带有依赖注入的对象管理器

0.1-beta 2022-02-03 14:46 UTC

This package is auto-updated.

Last update: 2024-09-29 05:49:14 UTC


README

Merophp 框架的带有依赖注入的对象管理器。

安装

通过 composer

composer require merophp/object-manager

基本用法

require_once 'vendor/autoload.php';

use Merophp\ObjectManager\ObjectContainer;
use Merophp\ObjectManager\ObjectManager;

$oc = new ObjectContainer;
ObjectManager::setObjectContainer($oc);

$myInstance = ObjectManager::get(MyClass::class);

依赖注入

对象管理器将扫描它需要实例化的类,并使用其中的注入方法来注入依赖。

require_once 'vendor/autoload.php';

use Merophp\ObjectManager\ObjectContainer;
use Merophp\ObjectManager\ObjectManager;

class Foo
{
    public Bar $bar = null;

    public function injectBar(Bar $bar)
    {
        $this->bar = $bar;
    }

    public function getBar()
    {
        return $this->bar;
    }
}

$myFooInstance = ObjectManager::get(Foo::class);
$myBarInstance = $myFooInstance->getBar();

从类 Foo 实例化时,对象管理器也会实例化依赖 Bar