簡體   English   中英

如何保留依賴項注入容器(PHP)的實例

[英]How to keep an instance of a Dependency Injection Container (PHP)

我已經使用DI概念已有一段時間了,但是現在我開始使用依賴注入容器(DIC)。 雖然我不清楚一件事。

在我的DIC中,我保留(例如)一個Config對象和Request對象。 我知道請求范圍內的這些對象(每次從此容器中請求時都使用相同的實例)保持不變。 但這僅在我重復使用DIC的相同實例時才會發生。

我應該如何通過DIC參加我的課程? 假設我要在Router類中使用它,是否需要在Router類的構造函數中傳遞它? 但是Router類是在另一個類中創建的,該類也應該已經具有此DIC對象。

還是應該為此DIC創建一個單例?

不要走辛格爾頓路線。 它有效地利用了DIC給您的所有優勢。 通常,您將容器傳遞給構造函數,或者在適用時作為方法參數傳遞。

是的,這需要您花更多的精力在應用程序周圍傳遞容器對象,但是結果是您的代碼很好地反映了這些類都依賴於此對象來工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM