php依賴注入的三種方式

2021-10-01 19:52:32 字數 919 閱讀 7345

控制反轉(inversion of control,縮寫為ioc),是物件導向程式設計中的一種設計原則,可以用來減低計算機**之間的耦合度。其中最常見的方式叫做依賴注入(dependency injection,簡稱di)。下面我們就為大家介紹一下php依賴注入的三種方式。

一、構造器注入

將被依賴物件通過建構函式的引數注入給依賴物件,並且在初始化物件的時候注入。

優點:

物件初始化完成後便可獲得可使用的物件。

缺點:

●當需要注入的物件很多時,構造器引數列表將會很長;

●不夠靈活。若有多種注入方式,每種方式只需注入指定幾個依賴,那麼就需要提供多個過載的建構函式,麻煩

二、setter方法注入

ioc service provider通過呼叫成員變數提供的setter函式將被依賴物件注入給依賴類。

優點:

靈活。可以選擇性地注入需要的物件。

缺點:

依賴物件初始化完成後由於尚未注入被依賴物件,因此還不能使用。

三、介面注入

依賴類必須要實現指定的介面,然後實現該介面中的乙個函式,該函式就是用於依賴注入。該函式的引數就是要注入的物件。

優點

介面注入中,介面的名字、函式的名字都不重要,只要保證函式的引數是要注入的物件型別即可。

缺點

侵入行太強,不建議使用。

ps:什麼是侵入行?

如果類a要使用別人提供的乙個功能,若為了使用這功能,需要在自己的類中增加額外的**,這就是侵入性。

依賴注入的三種方式 PHP的依賴注入 DI

php當中的依賴注入和控制反轉是面試中經常問到的問題。同時,很多框架中也使用到了這種設計模式,可能有很多小夥伴們對這兩個概念認識比較模糊,下面我就來給大家講講什麼是依賴注入。概念 是一種允許我們從硬編碼的依賴中解耦出來,從而在執行時或者編譯時能夠修改的軟體設計模式。說明 要想理解di 依賴注入 首先...

依賴注入的三種方式

依賴注入 為ioc別名,依賴注入是ioc的實現方式,ioc本質是將物件的建立由程式轉移到容器,依賴注入為實現這一目標的方式。1 構造方法注入 即被注入物件可以通過在其構造方法中宣告依賴物件的引數列表,讓外部 通常是ioc容器 知道它需要哪些依賴物件,然後ioc容器會檢查被注入物件的構造方法,取得其所...

依賴注入的三種方式

下面介紹三種方式,將被依賴物件注入給依賴類。將被依賴物件通過建構函式的引數注入給依賴物件,並且在初始化物件的時候注入。物件初始化完成後便可獲得可使用的物件。當需要注入的物件很多時,構造器引數列表將會很長 不夠靈活。若有多種注入方式,每種方式只需注入指定幾個依賴,那麼就需要提供多個過載的建構函式,麻煩...