• 技术文章 >后端开发 >php教程

    深入了解PHP中的依赖注入,看看怎么应用

    青灯夜游青灯夜游2021-09-08 19:54:34转载486
    什么是依赖注入?本篇文章带大家了解一下PHP中的依赖注入,介绍一下依赖注入出现的原因、依赖注入的应用,希望对大家有所帮助!

    一、什么是依赖注入 (DI)

    二、依赖注入出现的原因

    <?php
    class container
    {
        private $adapter;
    
        public function __construct()
        {
            $this->adapter = new adapter();
        }
    }

    三、简单的依赖注入

    <?php
    class container
    {
        private $adapter;
    
        public function __construct(adapter $adapter)
        {
            $this->adapter = $adapter;
        }
    }

    四、高阶的依赖注入

    <?php
    class container
    {
        public $instance = [];
    
        public function __set($name, $value)
        {
            $this->instance[$name] = $value;
        }
    }
    
    $container = new container();
    
    $container->adapter = new adapter();

    五、依赖注入的应用

    <?php
    class container
    {
        public $instance = [];
    
        public function __set($name, $value)
        {
            $this->instance[$name] = $value;
        }
    }
    
    class adapter
    {
        public $name = '我是调度器';
    }
    
    $container = new container();
    $container->adapter = new adapter();
    
    class autofelix
    {
        private $container;
    
        public function __construct(container $container)
        {
            $this->container = $container;
        }
    
        public function who($class)
        {
            return $this->container->instance[$class]->name;
        }
    }
    
    $autofelix = new autofelix($container);
    
    $who = $autofelix->who('adapter');
    
    var_dump($who); //我是调度器

    六、高阶优化

    <?php
    $container = new container();
    $container->adapter = new adapter();
    
    //高阶优化
    $container = new container();
    $container->adapter = function () {
        return new adapter();
    };

    原文地址:https://juejin.cn/post/7004616671864291359

    推荐学习:《PHP视频教程

    以上就是深入了解PHP中的依赖注入,看看怎么应用的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:掘金社区,如有侵犯,请联系admin@php.cn删除
    专题推荐:PHP 依赖注入
    上一篇:聊聊PHP中与JSON相关的函数 下一篇:PHP Class self与static有什么区别?都怎么用?
    线上培训班

    相关文章推荐

    • php array_push()怎么修改数组• 看看PHP 7中怎么优化递归的!• php怎么去除小数点后多余的0• php显示时间与实际时间不同怎么办• php.ini中怎么屏蔽所有错误

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网