V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kideny
V2EX  ›  PHP

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

  •  1
     
  •   kideny · 2016-06-25 10:32:55 +08:00 · 5623 次点击
    这是一个创建于 3102 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    17 条回复    2016-06-30 12:41:58 +08:00
    msg7086
        1
    msg7086  
       2016-06-25 10:40:22 +08:00
    解耦依赖用。
    hahasong
        2
    hahasong  
       2016-06-25 11:05:29 +08:00 via iPhone
    懒加载
    youngsterxyf
        3
    youngsterxyf  
       2016-06-25 11:11:43 +08:00
    http://blog.xiayf.cn/2015/03/22/read-slim/ 可以看看 slim 的实现
    500miles
        4
    500miles  
       2016-06-25 11:15:17 +08:00
    反射
    timsims
        5
    timsims  
       2016-06-25 11:17:09 +08:00
    反射类
    chentongsi
        6
    chentongsi  
       2016-06-25 11:19:34 +08:00
    你不知道有什么用,说明你还用不到,安心去干活吧,别没事研究这些奇技淫巧
    nilai
        7
    nilai  
       2016-06-25 11:55:40 +08:00
    我说 数组 有人会打我吗。
    kideny
        8
    kideny  
    OP
       2016-06-25 12:13:13 +08:00
    @nilai 能详细说下吗?
    jerray
        9
    jerray  
       2016-06-25 12:20:06 +08:00
    主要是反射。看看 Laravel 的 Container 里怎么写的就知道了。
    iyaozhen
        10
    iyaozhen  
       2016-06-25 13:52:33 +08:00 via Android
    我说下我个人理解的简单的依赖注入:
    比如你一个方法需要一个文件句柄,你方法参数当然可以写文件地址,然后方法内自己 fopen 。依赖注入的话就是文件句柄当做参数,这样的好处方法内不用处理文件打开的逻辑,而且之后所在的文件系统换了(这只是举个例子)等情况,方法不用做修改。还有一个好处是方便写单元测试,可以 mock 一个文件句柄参数传给方法。
    Moker
        11
    Moker  
       2016-06-25 14:02:52 +08:00
    如果只是想自动引入类文件的话
    可以用 namespace 和 SPL 就可以实现
    Tairy
        12
    Tairy  
       2016-06-25 20:19:57 +08:00
    __invoke() 函数
    woshicixide
        13
    woshicixide  
       2016-06-26 00:39:14 +08:00 via Android
    控制翻转
    dearmadman
        14
    dearmadman  
       2016-06-26 16:53:16 +08:00
    breeswish
        15
    breeswish  
       2016-06-26 20:43:53 +08:00
    方便进行测试
    kideny
        16
    kideny  
    OP
       2016-06-27 13:40:49 +08:00
    @dearmadman 已经收藏了,但是依赖注入的用法和目的,说的不是很简单。
    nightspirit
        17
    nightspirit  
       2016-06-30 12:41:58 +08:00
    理解依赖倒置,就知道什么是依赖注入了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   978 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:56 · PVG 06:56 · LAX 14:56 · JFK 17:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.