php 依赖注入
Posted leayrainy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 依赖注入相关的知识,希望对你有一定的参考价值。
对于依赖注入 我现在的理解是把一个方法当成一个变量放进另一个方法的形参里
<?php class Factory { public static function getDb(){ return new Db(); } } class Db { public static function query($sql){ echo $sql; } public static function querys($sql){ echo $sql."s"; } } class example { private $_db; function getList(){ $this->_db->query("123");//这里具体sql语句就省略不写了 } //从外部注入db连接 function setDb($connection){ $this->_db = $connection; } } //调用 $example = new example(); $example->setDb(Factory::getDb());//注入db连接 $example->getList();
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
简单点
<?php class email { public static function sendemail(){ echo "发送邮件"; } } class sms { public static function sendsms(){ echo "发送短信"; } } class example { private $_send; function setSend($send_function){ $this->_send = $send_function; } } $example = new example(); $example->setSend(sms::sendsms());
example好比注册的类,注册成功后想发送短信就
$example = new example(); $example->setSend(sms::sendsms());
想发送邮件就
$example = new example(); $example->setSend(email::sendemail());
以上是关于php 依赖注入的主要内容,如果未能解决你的问题,请参考以下文章
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段
PHP依赖注入,控制反转,反射Ioc容器和服务提供者各个概念的理解和使用