mead-steve / container
此包已被废弃且不再维护。没有建议替代包。
简单的依赖注入容器。
dev-master
2013-12-19 16:52 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2019-10-05 15:09:36 UTC
README
非常基础的依赖注入容器。
构建状态
分支 | 状态 |
---|---|
master |
示例用法
在容器中设置资源
use \Meadsteve\Container\Container; use \Meadsteve\Container\Singleton; $MyContainer = new Container(); $MyContainer->DependancyOne = new Dependancy(); $MyContainer->MyObject = function(Container $Container) { return new MyObject($Container->DependancyOne); };
当你需要MyObject实例时
$InstanceOfMyObject = $MyContainer->MyObject;
对于一些可能不希望每次都运行构造逻辑的重型对象,你可能想使用单例模式。这可以通过提供的类实现
$MyContainer->DBUser = "DBGuy"; $MyContainer->Password = "SuperSecret10"; $MyContainer->DBBasedObject = new Singleton(function(Container $Container) { return new DBObject($Container->DBUser, $Container->Password); });
然后以完全相同的方式检索
$DBInstance = $MyContainer->DBBasedObject