>백엔드 개발 >PHP 튜토리얼 >Laravel中“服务容器”、“服务提供者”、“注册提供者”的关系是怎样的?

Laravel中“服务容器”、“服务提供者”、“注册提供者”的关系是怎样的?

WBOY
WBOY원래의
2016-06-06 20:16:391235검색

Laravel中“服务容器”、“服务提供者”、“注册提供者”的关系是怎样的?
看了一下文档,但没怎么看明白。
大家说说。

回复内容:

Laravel中“服务容器”、“服务提供者”、“注册提供者”的关系是怎样的?
看了一下文档,但没怎么看明白。
大家说说。

这两天刚好再看,同作为菜鸟来说下自己的理解;
laravel的服务提供概念,是用了php的依赖注入,依赖注入的实现用了反射机制。
1.首先把需要的B类的实例化对象放到一个匿名函数中,然后再把此类和匿名函数放到容器中,假设容器是一个数组
2.假设A类的执行依赖B类,那么在A类的构造方法参数中,指定参数的类型是B类型
3.执行A类时,通过反射,知道A类依赖B类,那么就从容器中执行B类对应的匿名函数,得到一个实例化对象,传给A继续执行

服务提供者就是用来注册,存放将来需要的类到容器中。
服务容器的作用就是存放需要的类,再某个地方用到时,就从容器中获取。

这些作用就是减少模块间的依赖关系。在用到时,自动加进去。

参考:http://laravelacademy.org/post/769.html

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:mysql删除数据다음 기사:PHP怎么模拟http请求