我見過一些框架在php中實現DI。但是,由於PHP中的所有對象都是在單個請求的生命週期中創建和銷燬的,因此我不知道這會如何影響性能。依賴注入,PHP和性能問題
通常,您將在DI容器內定義一些對象。在php中,即使Controller不需要大多數這些對象,它們仍將被實例化。 另外,如果你在一個php文件中聲明你的DI依賴關係,你將加載所有引用的腳本。沒有DI,你只加載你需要的東西。
我看到一些框架允許惰性DI,所以這應該有助於不需要的實例化。也許分割DI也是解決第一個問題的方法。 那麼,DI會不會影響我的PHP應用程序性能,我應該如何去實現DI在PHP中,所以它不會發生?
您的應用程序是否達到了額外開銷實際上導致問題的級別?或者,在你編寫第一個''標籤對之前,你是否擔心這一點?開始時不要微觀優化。 – 2012-04-12 18:31:13
應用程序遭遇性能問題,部分大修正在重構應用程序,使其更加模塊化,引入了di fwks,doctrine 2等,以便更易於維護和優化。我不希望這會引入額外的性能損失。 – Dan 2012-04-12 18:45:20
我不認爲決定DI方法/框架是一個微觀優化。這是一個應用基礎。 – webbiedave 2012-04-12 18:47:04