kideny
V2EX  ›  PHP

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

  •  1
     
  •   kideny · Jun 25, 2016 · 6407 views
    This topic created in 3632 days ago, the information mentioned may be changed or developed.

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

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