我被困在一個PHP 4服務器上,我想開始將舊的舊項目移植到現代設計模式,包括依賴注入。是否有任何依賴注入框架可以與PHP 4一起使用?是否有PHP4的依賴注入框架?
2
A
回答
1
我發現this(點滴),但它看起來好像在幾年內沒有更新過。
0
我不認爲依賴注入框架將真正在PHP上工作,因爲它的結構是面向對象的程序。首先,它不像C#或Java,其中二進制文件已經存在,你只需要找到一種方法來實例化這個對象並將其注入到另一箇中。 PHP必須加載類文件並在它們使用它們之前解釋它們。所以如果你有PHP的深層繼承層次結構,我認爲這不是一個好主意。
鑑於PHP是一種腳本語言,最好將其作爲一種腳本語言。這意味着,我只是使用簡單的工廠或生成器方法來執行類似於依賴注入的操作。我不會用DI框架來增加負擔,只會增加PHP運行時必須爲每個Web請求處理的內容(除非您進行操作碼緩存,但仍然會有開銷,而Java平臺和Java平臺不會產生這些開銷。淨)。如果必須更改將被注入到對象中的對象或創建它們的方式,只需編輯包含工廠/構建器方法的腳本即可。無論如何,無需重新編譯。所以我具有靈活性,並且我有一個適合於PHP方式的輕量級架構。
2
大多數依賴注入框架使用反射來確定依賴關係。由於PHP4沒有提示,所以你不能這樣做。已經使用配置文件進行了實驗 - 有時嵌入了代碼中的註釋(通常稱爲註釋)。雖然這有效,但我覺得它有點笨重。在我看來,最好使用PHP的動態特性來獲得優勢,而不是嘗試將靜態類型的解決方案應用於它。你可以用手工製作工廠獲得很長的路要走。例如參見this post on how。
相關問題
- 1. C#依賴注入框架
- 2. 依賴注入框架
- 3. typescript依賴注入框架
- 4. 是否有一個基於屬性的注入Delphi的依賴注入框架?
- 5. iPhone的依賴注入框架
- 6. 播放框架依賴注入錯誤
- 7. 實體框架和依賴注入
- 8. 依賴注入Spring框架 - 工作
- 9. 基礎依賴注入框架
- 10. 依賴注入玩框架2.5模塊
- 11. Vaadin和依賴注入框架
- 12. 什麼依賴注入框架與WebForms
- 13. 播放框架依賴注入
- 14. 是否有一個類似spring framework的asp net mvc依賴注入框架?
- 15. 依賴注入框架 - 依賴關係傳播
- 16. Windows Store應用程序是否有任何依賴注入框架?
- 17. 使用依賴注入框架還是編寫自己的?
- 18. 具有Convention over Configuration功能的Java依賴注入框架
- 19. 具有依賴注入的實體框架ObjectContext
- 20. 我應該使用RoboGuice還是其他依賴注入框架?
- 21. 依賴注入 - 注入容器還是個人依賴?
- 22. IoC Unity:爲依賴注入註冊實體框架ObjectContext
- 23. 用途依賴注入的構架
- 24. 是否有支持測試依賴性的Python測試框架?
- 25. 什麼是依賴注入?
- 26. 依賴注入
- 27. 依賴注入
- 28. 依賴注入
- 29. 依賴注入
- 30. 依賴注入
對於非類型語言(ColdSpring for ColdFusion,針對Ruby,針對PHP5的PicoContainer),有大量的DI框架。雖然這種模式在類型化的Java/.Net世界中「長大」,但它仍然用於無類型語言。 – 2008-09-25 14:33:52