zoukankan      html  css  js  c++  java
  • 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())
  • 相关阅读:
    分析报告生产器使用问题
    如何使用分析报告生产器来生产图表
    基础数据代换代码
    浅谈Session与Cookie的区别与联系
    TCP和UDP的区别(转)
    项目管理技巧-怎么让代码规范执行下去
    吾日三省吾身
    C# 类型基础
    泛型
    事件与委托(续)
  • 原文地址:https://www.cnblogs.com/liliuguang/p/8796566.html
Copyright © 2011-2022 走看看