php 依賴注入的實現

2021-08-28 21:45:17 字數 784 閱讀 6822

當a類需要依賴於b類,也就是說需要在a類中例項化b類的物件來使用時候,如果b類中的功能發生改變,也會導致a類中使用b類的地方也要跟著修改,導致a類與b類高耦合。這個時候解決方式是,a類應該去依賴b類的介面,把具體的類的例項化交給外部。

<?php

/** * 為了約束我們先定義乙個訊息介面

* inte***ce message

*/inte***ce message

/** * 有乙個傳送郵件的類

* class seedemail

*/class seedemail implements message

}/**

*新增乙個傳送簡訊的類

* class seedsms

*/class seedsms implements message}/*

* 訂單產生的時候 需要傳送訊息

*/class order

public function seed_msg()

}//我們需要傳送郵件的時候

$message = new seedemail();

//將郵件傳送物件作為引數傳遞給order

$order = new order($message);

$order->seed_msg();

//我們需要傳送簡訊的時候

$message = new seedsms();

$order = new order($message);

$order->seed_msg();

PHP如何實現依賴注入

摘要 控制反轉 inversion of control,英文縮寫為ioc 是框架的重要特徵。控制反轉 ioc 是一種思想,依賴注入 di 是實施這種思想的方法。高層模組不應該依賴於底層模組,兩個都應該依賴抽象。抽象不應該依賴於細節,細節應該依賴於抽象。首先,我們來看一段 class a class...

php依賴注入

依然是來自到喜啦的一道面試題,你知道什麼是依賴注入嗎?依賴注入 di 的概念雖然聽起來很深奧,但是如果你用過一些新興的php框架的話,對於di一定不陌生,因為它們多多少少都用到了依賴注入來處理類與類之間的依賴關係。class a 為什麼這種方案不可取呢?因為這樣的話,a與b就耦合在了一起,也就是說a...

PHP利用反射實現依賴注入

本文參考部落格 非常感謝原博主.為了加深理解,做了部分修改,增加了適當注釋.前一篇簡單理解了php依賴注入,在實際開發過程中,我們並不知道依賴的類將來會擴充套件成什麼樣子,因此我們需要在實現依賴注入的時候,通過容器利用php反射類去實現.這裡的容器其實就是乙個能通過反射類實現依賴注入,並且最終返回我...