美文网首页
Easyswoole中的 Ioc 容器实现依赖注入

Easyswoole中的 Ioc 容器实现依赖注入

作者: 骑蚂蚁上高速_jun | 来源:发表于2020-05-03 16:14 被阅读0次

EasySwoole实现了简单版的IOC,使用 IOC 容器可以很方便的存储/获取资源,实现解耦。

看看我的代码实现

1. 创建Di绑定容器的服务提供者 \App\Provide\DiProvide.php
<?php

namespace App\Provide;

use EasySwoole\Component\Di;

class DiProvide
{
    /**
     * 将对象 注册到ioc容器
     */
    public static function injectIoc(){
        // 注入绑定 接口名称与接口实现的类
        Di::getInstance()->set(
            \App\Services\Contract\TestServicesContract::class,
            \App\Services\TestServices::class
        );
        // 当业务比较简单的时候,没有写接口 也可以 注入 类名称与之到对应的类
        Di::getInstance()->set(
            \App\Services\TestServices::class,
            \App\Services\TestServices::class
        );
        // todo ... 写其他类的注入
    }

    /**
     * 获取Ioc容器中的对象
     * @param $className
     * @return null
     * @throws \Throwable
     */
    public static function getIoc($className){
        return Di::getInstance()->get($className);
    }
}

  1. 在框架全局事件类 EasySwooleEvent.php 中 initialize() 方法注册服务提供者
\App\Provide\DiProvide::injectIoc();

3。在业务代码中使用,通过 Ioc容器获取对象实例

$testServices = \EasySwoole\Component\Di::getInstance()->get(\App\Services\Contract\TestServicesContract::class);
# 或者
$testServices = \EasySwoole\Component\Di::getInstance()->get(\App\Services\TestServices::class);
echo $testServices->test();

相关文章

  • Easyswoole中的 Ioc 容器实现依赖注入

    EasySwoole实现了简单版的IOC,使用 IOC 容器可以很方便的存储/获取资源,实现解耦。 看看我的代码实...

  • IoC(二)容器基本原理

    2.2.1 IoC容器的概念 IoC容器就是具有依赖注入功能的容器,IoC容器负责实例化、定位、配置应用程序中的...

  • .net 手动实现简易IOC容器

    现在的编程思想,离不开IOC依赖注入,手写实现一个简易IOC容器,更深入理解依赖注入还没了解IOC的可以查阅.ne...

  • Spring系列(1)-装配Spring Bean

    本章的学习目标看如下的思维导图: 依赖注入 在实际环境中实现Ioc容器的方式主要分为:依赖查找和依赖注入二者关系 ...

  • Spring-IOC开篇案例(1) 2018-07-29

    一、什么是Ioc(控制反转) 个人的理解:在spring中是通过引入IOC容器,利用依赖关系注入的方式,实现对象之...

  • Spring Ioc 容器原理

    IOC容器的概念 IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些...

  • Spring源码系列-IOC与DI 1.2

    IOC容器概念 ioc容器就是具有依赖注入功能的容器,ioc容器负责实例化,定位、配置应用程序中的对象及建立这些对...

  • 一、Spring核心机制:依赖注入

    设值注入:IOC容器使用变量的setter方法来注入被依赖的对象。 构造注入:IOC容器使用构造器来注入被依赖的对...

  • SpringIOC原理源码理解(2)

    IOC容器的依赖注入 依赖注入发生的时间当Spring IoC容器完成了Bean定义资源的定位、载入和解析注册以后...

  • Spring自动装配

    1. @AutoWired,自动注入: 1.1 Spring利用依赖注入(DI),完成对IOC容器中各个组件的依赖...

网友评论

      本文标题:Easyswoole中的 Ioc 容器实现依赖注入

      本文链接:https://www.haomeiwen.com/subject/ljydghtx.html