本文实例讲述了thinkphp5.1框架容器与依赖注入。分享给大家供大家参考,具体如下:
容器—-/thinkphp/library/think/Container.php
依赖注入:将对象类型的数据,以参数的方式传到方法中(解决向类中的方法传对象的问题)
绑定一个类到容器:
代码语言:javascript复制public function bindClass()
{
//把一个类放到容器中:相当于注册到容器中
thinkContainer::set('tmp(别名)','appcommonTemp(实例)');
//助手函数bind();
bind('tmp(别名)','appcommonTemp(实例)');
//将容器中的类实例化并取出来用:实例化的同时调用构造器进行初始化
$tmp = thinkContainer::get('tmp',['name' = 'you']);
$tmp = app('tmp',['name' = 'you']);//助手函数
return $tmp- getName();
}
绑定一个闭包到容器:
代码语言:javascript复制public function bindClosure()
{
//把一个闭包放到容器中
thinkContainer::set('demo',function($domain) {
return '域名:' . $domain;
});
//将容器中的闭包取出来用
return thinkContainer::get('demo',['domain' = 'www.php.cn']);
}