一文理解和实现现代PHP框架里的IOC容器

本篇文章给大家带来了关于PHP的相关知识,其中主要介绍了关于IOC容器的相关内容,IOC的全称是:Inversion Of Control,反转控制,下面一起来看一下,希望对大家有帮助。

容器是什么?

相信很多人听说过依赖注入,依赖注入实现的基础条件离不开容器,容器就是用来管理类依赖和注入的,负责服务的管理和解耦组件,最简单的理解我们可以把容器理解成一个超级大、专门存对象的数组。

35.png

如图所示调用者通过容器的标示获取到对象实例,图里可以看出来,可以通过 ::class 的方式来获取也可以直接通过对象标示获取实例对象。

IOC是什么?

大家可能都听说过IOC容器,IOC的全称是:(Inversion Of Control,反转控制)。

我们来理解一下什么是反转控制,在我们传统编码中我们在类与类之间的依赖通常是我们通过编码的方式new出来对象再传递的,而使用控制反转我们可以把对象的控制权交给容器或者框架去实现。目的是为了让我们不需要硬编码去创建对象,看图1可以知道,容器里面存放着很多对象,当我们要使用的时候可以直接去用。而容器里面的对象不需要我们在代码中编码创建。在需要某个类对象的时候会去容器里面获取对象,如果对象不存在则会自动创建。这就是省略了我们在代码里面去创建对象的过程,由容器去帮我们实现这个创建的过程,这就叫反转控制。一句话总结IOC:把创建对象的控制权转移给容器实现类的实例化。

例如:没有使用IOC的情况下,我们想要创建类

<?php
class Sunny{
}
$sunny = new Sunny();

登录后复制

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 一文理解和实现现代PHP框架里的IOC容器
温馨提示您:本站所载文章、数据仅供参考,如果有文章侵犯了您的权益,请来信告知我们删除,联系邮箱:976157886@qq.com
Copyright © 2023 自学咖网 - All rights reserved 浙ICP备2023005527号