php 的依赖注入到底是怎么实现的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kideny
V2EX    PHP

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

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

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

    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     Solana     2955 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 14:00 PVG 22:00 LAX 07:00 JFK 10:00
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86