php 的依赖注入到底是怎么实现的?

2016-06-25 10:32:55 +08:00
 kideny

依赖注入,有什么用呢?请教大神?

5598 次点击
所在节点    PHP
17 条回复
msg7086
2016-06-25 10:40:22 +08:00
解耦依赖用。
hahasong
2016-06-25 11:05:29 +08:00
懒加载
youngsterxyf
2016-06-25 11:11:43 +08:00
http://blog.xiayf.cn/2015/03/22/read-slim/ 可以看看 slim 的实现
500miles
2016-06-25 11:15:17 +08:00
反射
timsims
2016-06-25 11:17:09 +08:00
反射类
chentongsi
2016-06-25 11:19:34 +08:00
你不知道有什么用,说明你还用不到,安心去干活吧,别没事研究这些奇技淫巧
nilai
2016-06-25 11:55:40 +08:00
我说 数组 有人会打我吗。
kideny
2016-06-25 12:13:13 +08:00
@nilai 能详细说下吗?
jerray
2016-06-25 12:20:06 +08:00
主要是反射。看看 Laravel 的 Container 里怎么写的就知道了。
iyaozhen
2016-06-25 13:52:33 +08:00
我说下我个人理解的简单的依赖注入:
比如你一个方法需要一个文件句柄,你方法参数当然可以写文件地址,然后方法内自己 fopen 。依赖注入的话就是文件句柄当做参数,这样的好处方法内不用处理文件打开的逻辑,而且之后所在的文件系统换了(这只是举个例子)等情况,方法不用做修改。还有一个好处是方便写单元测试,可以 mock 一个文件句柄参数传给方法。
Moker
2016-06-25 14:02:52 +08:00
如果只是想自动引入类文件的话
可以用 namespace 和 SPL 就可以实现
Tairy
2016-06-25 20:19:57 +08:00
__invoke() 函数
woshicixide
2016-06-26 00:39:14 +08:00
控制翻转
dearmadman
2016-06-26 16:53:16 +08:00
breeswish
2016-06-26 20:43:53 +08:00
方便进行测试
kideny
2016-06-27 13:40:49 +08:00
@dearmadman 已经收藏了,但是依赖注入的用法和目的,说的不是很简单。
nightspirit
2016-06-30 12:41:58 +08:00
理解依赖倒置,就知道什么是依赖注入了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/288201

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX