wilkques / container
v4.0.0
2024-09-25 05:37 UTC
Requires
- php: >=5.3
README
如何使用
composer require wilkques/container
require '<project path>/vendor/Container/src/helpers.php'; require '<project path>/vendor/Container/src/Container.php';
方法
-
registercontainer()->register( '<your class name>', new '<your class name>' ); // or container()->register([ [ '<your class name1>', new '<your class name1>' ], [ '<your class name2>', new '<your class name2>' ], ... ]);
-
bind$abstract = new \Your\Class\Name; container()->bind('<your class name>', function () use ($abstract) { return $abstract; });
-
singleton单例方法将一个类或接口绑定到容器中,该绑定只能被解析一次。一旦单例绑定被解析,后续调用容器时将返回相同的对象实例。$abstract = new \Your\Class\Name; container()->singleton('<your class name>', function () use ($abstract) { return $abstract; });
-
scoped$abstract = new \Your\Class\Name; container()->scoped('<your class name>', function () use ($abstract) { return $abstract; });
-
getcontainer()->get('<your class name>');
-
makecontainer('<your class name>'); // or container()->make('<your class name>');
-
callcontainer()->call(['<your class name>', '<your class method name>'], ['<your class method vars name>' => '<your class method vars value>']); // or container()->call([new '<your class name>', '<your class method name>'], ['<your class method vars name>' => '<your class method vars value>']); // or container()->call(function (\Your\Class\Name $abstract) { // do something });
-
forgetScopedInstances从容器中清除所有作用域实例。 -
forgetInstancecontainer()->forgetInstance('<your class name>');
-
forgetInstances从容器中清除所有实例。 -
flush清空容器中的所有绑定和已解析实例。