您好,登錄后才能下訂單哦!
php依賴注入有幾種方式?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
控制反轉(Inversion of Control,縮寫為IoC),是面向對象編程中的一種設計原則,可以用來減低計算機代碼之間的耦合度。其中最常見的方式叫做依賴注入(Dependency Injection,簡稱DI)。下面我們就為大家介紹一下php依賴注入的三種方式。
一、構造器注入
將被依賴對象通過構造函數的參數注入給依賴對象,并且在初始化對象的時候注入。
優點:
對象初始化完成后便可獲得可使用的對象。
缺點:
●當需要注入的對象很多時,構造器參數列表將會很長;
●不夠靈活。若有多種注入方式,每種方式只需注入指定幾個依賴,那么就需要提供多個重載的構造函數,麻煩
二、setter方法注入
IoC Service Provider通過調用成員變量提供的setter函數將被依賴對象注入給依賴類。
優點:
靈活。可以選擇性地注入需要的對象。
缺點:
依賴對象初始化完成后由于尚未注入被依賴對象,因此還不能使用。
三、接口注入
依賴類必須要實現指定的接口,然后實現該接口中的一個函數,該函數就是用于依賴注入。該函數的參數就是要注入的對象。
優點
接口注入中,接口的名字、函數的名字都不重要,只要保證函數的參數是要注入的對象類型即可。
缺點
侵入行太強,不建議使用。
PS:什么是侵入行?
如果類A要使用別人提供的一個功能,若為了使用這功能,需要在自己的類中增加額外的代碼,這就是侵入性。
感謝各位的閱讀!看完上述內容,你們對php依賴注入有幾種方式大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。