麻豆成人91精品二区三区,国产91在线播放,加勒比无码专区中文字幕,欧美黑人XXXX高潮猛交

×

淺談PHP如何實(shí)現(xiàn)依賴注入(一)

  • 作者:新網(wǎng)
  • 來(lái)源:新網(wǎng)
  • 瀏覽:100
  • 2018-05-10 18:04:05

依賴注入(Dependency Injection,簡(jiǎn)稱DI)又稱控制反轉(zhuǎn)(Inversion of Control,簡(jiǎn)稱IOC),在目前的主流框架中,如ThinkPHP、Laravel等都有實(shí)現(xiàn)。什么是依賴注入呢?今天就讓小編為大家講解一下依賴注入的相關(guān)知識(shí)吧。

 依賴注入(Dependency Injection,簡(jiǎn)稱DI)又稱控制反轉(zhuǎn)(Inversion of Control,簡(jiǎn)稱IOC),在目前的主流框架中,如ThinkPHP、Laravel等都有實(shí)現(xiàn)。什么是依賴注入呢?今天就讓小編為大家講解一下依賴注入的相關(guān)知識(shí)吧。

<div
舉個(gè)簡(jiǎn)單的例子:
002UASMrzy7605pjKJv15&690.jpg
 
(1)原始社會(huì)里,幾乎沒(méi)有社會(huì)分工。需要斧子的人(調(diào)用者)只能自己去磨一把斧子(被調(diào)用者)。
 
(2)進(jìn)入工業(yè)社會(huì),工廠出現(xiàn)。斧子不再由普通人完成,而在工廠里被生產(chǎn)出來(lái),此時(shí)需要斧子的人(調(diào)用者)找到工廠,購(gòu)買(mǎi)斧子,無(wú)須關(guān)心斧子的制造過(guò)程。
 
(3)進(jìn)入“按需分配”社會(huì),需要斧子的人不需要找到工廠,坐在家里發(fā)出一個(gè)簡(jiǎn)單指令:需要斧子。斧子就自然出現(xiàn)在他面前。
 
第一種情況下,實(shí)例的調(diào)用者創(chuàng)建被調(diào)用的實(shí)例,必然要求被調(diào)用的類出現(xiàn)在調(diào)用者的代碼里。無(wú)法實(shí)現(xiàn)二者之間的松耦合。
 
第二種情況下,調(diào)用者無(wú)須關(guān)心被調(diào)用者具體實(shí)現(xiàn)過(guò)程,只需要找到符合某種標(biāo)準(zhǔn)(接口)的實(shí)例,即可使用。此時(shí)調(diào)用的代碼面向接口編程,可以讓調(diào)用者和被調(diào)用者解耦,這也是工廠模式大量使用的原因。但調(diào)用者需要自己定位工廠,調(diào)用者與特定工廠耦合在一起。
 
第三種情況下,調(diào)用者無(wú)須自己定位工廠,程序運(yùn)行到需要被調(diào)用者時(shí),依賴注入容器自動(dòng)提供被調(diào)用者實(shí)例。事實(shí)上,調(diào)用者和被調(diào)用者都處于依賴注入容器的管理下,二者之間的依賴關(guān)系由依賴注入容器提供。因此調(diào)用者與被調(diào)用者的耦合度進(jìn)一步降低,這使得應(yīng)用更加容易維護(hù),這就是依賴注入所要達(dá)到的目的。
 
在PHP中如何實(shí)現(xiàn)依賴注入呢?
 
依賴注入在現(xiàn)在的編程中,有著比較突出的優(yōu)勢(shì),這也是ThinkPHP、Laravel等框架,使用此編程思想的原因。那么這些框架到底是如何使用PHP去實(shí)現(xiàn)的呢?
 
下面我們使用一個(gè)簡(jiǎn)單的案例,來(lái)說(shuō)說(shuō)其中的奧秘。
 
首先我們創(chuàng)建一個(gè)類,看起來(lái)是這樣的,包含一個(gè)屬性和兩個(gè)方:
 
假設(shè)我們現(xiàn)在有另外兩個(gè)類,redisDB和cache,redisDB提供一個(gè)redis數(shù)據(jù)庫(kù)的操作,cache負(fù)責(zé)緩存功能的實(shí)現(xiàn)并且依賴于redisDB。在上面這個(gè)類中我們簡(jiǎn)單實(shí)現(xiàn)了redis的查詢、保存和刪除。另一個(gè)類和當(dāng)前這個(gè)類結(jié)構(gòu)很像:
 

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢獲取折扣

Loading
性色一区二区| 国产成人精品一区二区三区免费| 干人妻网| 国产午夜av| 久草视频色| 欧美亚洲日韩hh| 专区一区99| 97人妻高清| a级在线观看网址| 国农村精品国产自线拍| 东京热av网| 夜夜操69AV| 久久国产精品亚洲| 订香五月综合视频| 色悠悠网站区域网| 亚洲成色www久久网站| 麻豆午夜| 亚洲无码不卡一二三四| 成人911网站| 一本加勒比HEZYO无码资源网| 亚洲无码日韩av| 一本到无码免费| 国产999久久久免费| 国产亚洲欧美日韩在线观看| 孕妇孕交视频| 天天干夜夜爽| 天天综合无码| 一级av免费绯色AV| 久久人妻久无码| 日本中文字幕1区| 久久亚洲欧美综合激情一区| 女同一区| 欧美91视频| 91日韩在线播放观看| 玩弄调教AV在线| 精品久久久久久无码人妻VR| 国产精品亚洲精品| 久久精品视频播放| 亚洲 精品 欧美| 久久超碰免费论坛| 亚洲欧美国产日|