油罐车 / 油罐车
此包已弃用且不再维护。未建议替代包。
油罐车是一个采用单例模式实现的对象容器
v1.1.0
2014-04-30 14:19 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2022-02-01 12:33:14 UTC
README
油罐车是一个具有单例模式实现的灵活对象容器
如何包含?
直接在PHP代码中通过代码包含 Tanker
require_once '/path/to/Tanker/Container.php';
或使用 composer。将其添加到 composer.json 文件中
"require": {
"tanker/tanker": "1.1.*@dev"
}
如何导入?
使用 use 语句导入类
use Tanker\Container as Tanker;
如何使用?
使用 new 操作符 创建 Tanker 实例
$tanker = new Tanker;
添加 对象到容器中
$obj = new StdClass(); // create some object
$tanker->set('object', $obj); // add object to container with name using setter
或者简单地使用 属性重载
$tanker->object = $obj;
或者简单地使用 数组访问
$tanker['object'] = $obj;
从 容器中获取对象
$obj = $tanker->get('object'); // get object by name from container using getter
或者简单地使用 属性重载
$obj = $tanker->object;
或者简单地使用 数组访问
$obj = $tanker['object'];
如何使用服务?
服务是一个更复杂的对象,它与其他对象一起工作。为了提高性能和节省资源,您需要在需要使用它时直接创建其实例。这完全由 Tanker 处理,您只需定义使用匿名函数的服务
$tanker->set('mailer', function(){
return new Mailer();
});
邮件发送器实例将在第一次调用服务时创建
$tanker->get('mailer');
您可以使用 use 语句简单地将依赖项注入到传递给匿名函数的 Tanker 对象中
$tanker->set('mailer', function() use ($tanker) {
return new Mailer($tanker->get('config'));
});
里面有什么?
很简单,不是吗? :)