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());
  • 相关阅读:
    [js]vue-router的使用
    [js]递归实现 数组转树形
    [js]vue组件核心
    [js]了解chart绘图
    [js]vue权限控制
    [js]vue显示一个外部链接的组件
    [js]axios使用
    [js]vue中 给router-view 组件的 绑定 key 的原因
    [java]BeanPostProcessor使用及源码
    [java]权限管理
  • 原文地址:https://www.cnblogs.com/hellowzd/p/5888077.html
Copyright © 2011-2022 走看看