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如何实现依赖注入

PHP依赖注入,控制反转,反射Ioc容器和服务提供者各个概念的理解和使用

PHP依赖注入,控制反转,反射Ioc容器和服务提供者各个概念的理解和使用

php的依赖注入容器

PHP实现依赖注入