首頁  >  文章  >  後端開發  >  php依賴注入的三種方式

php依賴注入的三種方式

angryTom
angryTom原創
2019-08-22 13:53:297942瀏覽

php依賴注入的三種方式

  控制反轉(Inversion of Control,縮寫為IoC),是物件導向程式設計中的一種設計原則,可以用來減少電腦程式碼之間的耦合度。其中最常見的方式叫做依賴注入(Dependency Injection,簡稱DI)。下面我們就來為大家介紹一下php依賴注入的三種方式。

推薦教學:PHP影片教學

#一、建構子注入

  將被依賴物件透過建構函數的參數注入給依賴對象,並且在初始化物件的時候注入。

優點:

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

缺點:

  ●當需要注入的物件很多時,建構器參數清單將會很長;

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

二、setter方法注入

  IoC Service Provider透過呼叫成員變數提供的setter函數將被依賴物件注入給依賴類別。

優點:

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

缺點:

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

三、介面注入

  依賴類別必須實現指定的接口,然後實作該接口中的一個函數,該函數就是用於依賴注入。此函數的參數就是要注入的物件。

優點

  介面注入中,介面的名字、函數的名字都不重要,只要確保函數的參數是要注入的物件類型即可。

缺點

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

PS:什麼是侵入行? 

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

以上是php依賴注入的三種方式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn