php-simple / constructor-injection
本包最新版本(v1)没有提供许可信息。
一个非常简单的容器示例,它通过类构造函数注入依赖项。
v1
2023-02-01 17:35 UTC
Requires
- psr/container: ^2.0
README
一个非常简单的容器示例,它通过类构造函数注入依赖项
安装
composer require php-simple/constructor-injection
用法/示例
bind() 方法
require_once __DIR__ . '/vendor/autoload.php'; class User { public $foo; public function __construct(Foo $foo) { $this->foo = $foo } public function foo() { return $this->foo->sayFoo(); } } class Foo { public function sayFoo() { return 'Foooo' } } $container = new \ConstructorInjection\Container(); $container->bind(User::class); $userInstance = $container->getBinding(User::class) // Foooo $userInstance->foo();
带有闭包的 bind() 方法
$container->bind(User::class,function (){ return new User(); }); $userInstance = $container->getBinding(User::class) // Foooo $userInstance->foo();
get() 方法
$userInstance = $container->get(User::class); // Foooo $userInstance->foo();
getBindings 方法()
- 返回所有绑定的类
$bindings = $container->getBindings(); print_r($bindings); //Array //( // [User] => Closure Object // ( // ) // //)