谁能给我解释一下YII2的依赖注入...
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了谁能给我解释一下YII2的依赖注入...,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1313字,纯文字阅读大概需要2分钟。
内容图文
![谁能给我解释一下YII2的依赖注入...](/upload/InfoBanner/zyjiaocheng/239/35eaa871fdda403192d6e25e30912bcc.jpg)
回复内容:
已经看过一片文章了:http://www.yiichina.com/tutorial/112 ,但是没看懂,谁能稍微通俗一点介绍一下...十分感谢,么么哒
转自ThinkPHP:
依赖注入是一种解耦组件之间依赖关系的设计模式,可以用来取代全局变量.
class Factory {
public static function getDb(){
include "./Lib/Db.php";
return new Db("localhost","root","123456","test");
}
}
class example {
private $_db;
function getList(){
$this->_db->query("...");
}
//从外部注入db连接
function setDb($connection){
$this->_db = $connection;
}
}
$example = new example(); //example类依赖数据库
$example->setDb(Factory::getDb()); //注入数据库连接(依赖注入)
$example->getList(); //访问数据库,读取数据
这样一来,example类完全与外部类解除耦合了.
通过从外部调用example类的setDb方法,将连接实例直接注入进去,这样example类完全不用关心数据库连接怎么生成的了.这就叫依赖注入,实现不是在代码内部创建依赖关系,而是让其作为一个参数传递,使得程序更容易维护,降低代码的耦合度.
创建被调用者(Db类)的工作不再由调用者(example类)来完成,因此称为控制反转.
创建被调用者的工作由Factory类来完成,然后注入调用者(传参),因此也称为依赖注入.
可以参考phalcon框架的文档,里面介绍了依赖注入的部分,非常通俗易懂。
public static function getDb()
{
return Yii::$app->db;
}
这不就是么?
注入显然是从外部注入, 而不是内部定义。
内容总结
以上是互联网集市为您收集整理的谁能给我解释一下YII2的依赖注入...全部内容,希望文章能够帮你解决谁能给我解释一下YII2的依赖注入...所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。