php SqlDependency,PHP依赖注入简单理解

//依赖注入(Dependency injection)也叫控制反转(Inversion of Control)是一种设计模式

//这种模式用来减少程序间的耦合。

//假设我们有个类,需要用到数据库连接,我们可能这样写

class UseDataBase{

protected $adapter;

public function __construct(){

$this->adapter=new MySqlAdapter;

}

public function getList(){

$this->adapter->query("sql语句");//使用MySslAdapter类中的query方法;

}

}

class MySqlAdapter{};

//我们可以通过依赖注入来重构上面这个例子

class UseDataBase{

protected $adapter;

poublic function __construct(MySqlAdapter $adapter){

$this->adapter=$adapter;

}

public function getList(){

$this->adapter->query("sql语句");//使用MySslAdapter类中的query方法;

}

}

class MySqlAdapter{};

//但是,当我们有很多种数据库时,上面的这种方式就达不到要求或者要写很多个usedatabase类

//所以我们再重构上面的这个例子

class UseDataBase{

protected $adapter;

poublic function __construct(AdapterInterface $adapter){

$this->adapter=$adapter;

}

public function getList(){

$this->adapter->query("sql语句");//使用MySslAdapter类中的query方法;

}

}

interface AdapterInterface{};

class MySqlAdapter implements AdapterInterface{};

class MSsqlAdapter implements AdapterInterface{};

//这样的话,当要使用不同的数据库时,我们只需要添加数据库类就够了,usedatabase类则不需要动。

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值