merophp / object-manager
Merophp 框架的带有依赖注入的对象管理器
0.1-beta
2022-02-03 14:46 UTC
Requires
- php: >=7.4
- merophp/singleton: 0.1.*
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。