亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP中的服務容器與依賴注入的解析

2020-03-22 18:16:23
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了關于PHP中的服務容器與依賴注入,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

依賴注入當A類需要依賴于B類,也就是說需要在A類中實例化B類的對象來使用時候,如果B類中的功能發生改變,也會導致A類中使用B類的地方也要跟著修改,導致A類與B類高耦合。這個時候解決方式是,A類應該去依賴B類的接口,把具體的類的實例化交給外部。

就拿我們業務中常用的通知模塊來說。

 ?php * 定義了一個消息類 * Class Message html' target='_blank'>class Message{ public function seed() return seed email  * 訂單產生的時候 需要發送消息class Order{ protected $messager =  function __construct() $this- messager = new Message(); public function seed_msg() return $this- messager- seed();$Order = new Order();$Order- seed_msg();

上面的代碼是我們傳統的寫法。首先由個消息發送的類。然后在我們需要發送消息的地方,調用發送消息的接口。有一天你需要添加一個發送短信的接口以滿足不同的需求。那么你會發現你要再Message類里面做修改。同樣也要再Order類里面做修改。這樣就顯得很麻煩。這個時候就有了依賴注入的思路。下面把代碼做一個調整

 ?php * 為了約束我們先定義一個消息接口 * Interface Messageinterface Message{ public function seed(); * 有一個發送郵件的類 * Class SeedEmailclass SeedEmail implements Message public function seed() return seed email  // TODO: Implement seed() method. *新增一個發送短信的類 * Class SeedSMSclass SeedSMS implements Message public function seed() return seed sms  // TODO: Implement seed() method.
$Order = new Order($message);$Order- seed_msg();

這樣我們就實現了依賴注入的思路,是不是很方便擴展了。

服務容器我理解的服務容器就是一個自動產生類的工廠。
 ?php * 為了約束我們先定義一個消息接口 * Interface Messageinterface Message{ public function seed(); * 有一個發送郵件的類 * Class SeedEmailclass SeedEmail implements Message public function seed() return seed email  // TODO: Implement seed() method. *新增一個發送短信的類 * Class SeedSMSclass SeedSMS implements Message public function seed() return seed sms  // TODO: Implement seed() method.
$SMS = $message- make( SMS $SMS- seed();

container是一個簡單的服務容器里面有bind,make兩個方法
bind是向容器中綁定服務對象。make則是從容器中取出對象。

bind

在bind方法中需要傳入一個 concrete 我們可以傳入一個實例對象或者是一個閉包函數
可以看到我這全使用的是閉包函數,其實也可以這樣寫

$sms = new SeedSMS();$message- bind( SMS ,$sms);

后面這種寫法與閉包相比的區別就是我們需要先實例化對象才能往容易中綁定服務。而閉包則是我們使用這個服務的時候才去實例化對象??梢钥闯鲩]包是有很多的優勢的。

make

make方法就從容器中出去方法。里面首先判斷了instances變量中是否有當前以及存在的服務對象,如果有直接返回。如果沒有那么會通過 call_user_func_array返回一個對象。call_user_func_array的使用可以查看
PHP 中 call_user_func 的使用

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !

相關推薦:

PHP容器Pimple運行流程的分析

gitbash PHP執行輸出中文亂編解決方式

PHP中常用的數組函數

以上就是PHP中的服務容器與依賴注入的解析的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品一区二区在线| 最近2019中文免费高清视频观看www99| 国产日韩一区在线| 日韩欧美福利视频| 久久亚洲国产精品| 久久久www成人免费精品| 久久综合电影一区| 日本一区二三区好的精华液| 亚洲第一视频网站| 亚洲黄色www网站| 欧美在线一级视频| www.久久久久| 亚洲精品美女久久久| 日韩在线视频观看| 亚洲成**性毛茸茸| 欧美精品videosex牲欧美| 国产女同一区二区| 欧美亚洲视频一区二区| 国产999精品| 91久久久久久久久久久久久| 中文字幕在线看视频国产欧美| 色黄久久久久久| **欧美日韩vr在线| 亚洲欧美一区二区精品久久久| 欧美色视频日本高清在线观看| 亚洲自拍在线观看| 欧美激情成人在线视频| 欧美激情精品久久久久久久变态| 久久国产精品影片| 欧洲日本亚洲国产区| 国产成人精品免费久久久久| 日韩欧中文字幕| 精品久久久久久中文字幕一区奶水| 5278欧美一区二区三区| 亚洲一区美女视频在线观看免费| 国产精品亚洲激情| 97人人爽人人喊人人模波多| 亚洲成人免费在线视频| 国产日韩在线一区| 欧美激情一区二区三区高清视频| 亚洲香蕉成人av网站在线观看| 亚洲国产精品资源| 欧美成人三级视频网站| 亚洲性线免费观看视频成熟| 中文字幕亚洲欧美在线| 精品久久久一区二区| 992tv成人免费影院| 岛国av一区二区三区| 亚洲精品久久久久国产| 国产一区二区三区丝袜| 91国语精品自产拍在线观看性色| 青青久久aⅴ北条麻妃| 91精品国产高清自在线| 久久福利视频网| 国产精品久久久久久久久久久久| 久久久久久久亚洲精品| 成人做爰www免费看视频网站| 狠狠色狠狠色综合日日五| 国产精品网红福利| 亚洲精品久久久一区二区三区| 日韩经典中文字幕在线观看| 精品久久久久久久久久| 久久综合久久88| 欧美怡红院视频一区二区三区| 中文字幕亚洲色图| 国内揄拍国内精品少妇国语| 97精品视频在线播放| 国产91免费观看| 日韩av手机在线看| 国产欧美精品在线| 国产精自产拍久久久久久蜜| 中文字幕亚洲欧美日韩高清| 日韩有码视频在线| 欧美性高跟鞋xxxxhd| 日韩在线观看免费网站| 日韩成人激情在线| 亚洲欧美在线磁力| 欧美老女人在线视频| 成人网页在线免费观看| 国产精品一区二区三区久久久| 日本久久久久久久久久久| 国产精品久久久久77777| 亚洲天堂av综合网| 国产精品成人品| 91精品久久久久久久久中文字幕| 欧美色视频日本版| 在线视频欧美性高潮| 精品色蜜蜜精品视频在线观看| 国产日韩欧美一二三区| 亚洲最新在线视频| 日韩视频免费中文字幕| 欧美性猛交xxxx黑人猛交| 国产精品香蕉国产| 欧洲午夜精品久久久| 国产精品网红福利| 国产亚洲激情视频在线| 成人久久一区二区| 色综合五月天导航| 日本成人激情视频| 精品电影在线观看| 久久久久久久999精品视频| 欧美亚洲在线观看| 91极品女神在线| 怡红院精品视频| 国产精品久久色| 成人免费大片黄在线播放| 色噜噜狠狠狠综合曰曰曰88av| 国外视频精品毛片| 国产成人综合一区二区三区| 亚洲理论片在线观看| 欧美xxxx综合视频| 亚洲人成在线一二| 久久在线精品视频| 日韩在线视频观看| 日韩精品免费一线在线观看| 亚洲综合一区二区不卡| 都市激情亚洲色图| 亚洲福利在线视频| 欧美最猛性xxxxx(亚洲精品)| 国产视频精品va久久久久久| 91国内揄拍国内精品对白| 91美女高潮出水| 亚洲免费视频网站| 在线播放精品一区二区三区| 久久久久久av| 久久99久久亚洲国产| 国产91网红主播在线观看| 91av视频在线免费观看| 日本高清视频一区| 欧美精品中文字幕一区| 一色桃子一区二区| 精品久久久久久久久久ntr影视| 啪一啪鲁一鲁2019在线视频| 高清亚洲成在人网站天堂| 亚洲福利在线视频| 亚洲二区在线播放视频| 久久99久久99精品中文字幕| 欧美成人午夜视频| 欧美精品在线免费观看| 国产精品成人一区| 日韩电影中文字幕| 亚洲成色777777女色窝| 尤物九九久久国产精品的分类| 人人澡人人澡人人看欧美| 日韩三级影视基地| 宅男66日本亚洲欧美视频| 久久久91精品国产一区不卡| 日韩精品视频在线免费观看| 日韩欧美在线视频| 国内成人精品一区| 国产精品成人av在线| 国产福利精品av综合导导航| 日韩av免费在线| 日本午夜精品理论片a级appf发布| 亚洲黄色免费三级| 亚洲精品乱码久久久久久金桔影视| 亚洲精品免费在线视频| 亚洲无av在线中文字幕| 欧美二区乱c黑人| 国产精品免费观看在线| 亚洲精品视频久久| zzijzzij亚洲日本成熟少妇| 日韩av手机在线看| 51色欧美片视频在线观看|