php依賴注入的三種方式

angryTom
發布: 2023-04-07 08:54:01
原創
7646 人瀏覽過

php依賴注入的三種方式

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

推薦教學:PHP影片教學

#一、建構子注入

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

優點:

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

缺點:

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

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

二、setter方法注入

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

優點:

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

缺點:

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

三、介面注入

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

優點

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

缺點

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

PS:什麼是侵入行?

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

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!