回答
根據您的功能的不同,您可以在lib
文件夾中創建一個文件,然後從應用程序中的每個位置調用該文件。這在Symfony項目中定義常用函數(如工具箱)很有用。
例如,在the Jobeet tutorial,它們在/lib/Jobeet.class.php
(一定命名與.class.php
文件在結束這樣的Symfony將自動加載它)定義了一個名爲slugify
方法。然後,您可以在您的應用/模型/插件/視圖中的每個位置調用Jobeet::slugify()
。
該解決方案可與Symfony的1.4:
- 創建中聲明你想成爲隨處可用功能的新文件。
- 您可以使用php.ini文件中的auto prepend file setting加載該文件。
如果做得正確,那麼該函數在您的所有腳本中都可用,而不管模型,插件或項目中的其他內容。
最好使用每個目錄下的'auto_prepend_file'。否則,它將包含在所有使用'php.ini'的網站中。無論如何,不確定是否需要創建這樣的外部依賴關係。 Symfony 1.4有一個'/ lib'目錄。 – webbiedave 2012-04-26 20:55:19
-1是的,我必須同意@ webbiedave在這裏的最後一句話。使用php.ini設置對於任何不熟悉項目的開發人員來說都是非常意外的,特別是當Symfony已經提供了一個完成它的機制時。 – 2012-04-26 22:48:00
@Phoenix:如果它有效,它就會起作用。不是說這是最好的答案,但技術上這是正確的。每個目錄設置可用於每個php.ini - 請參閱用戶ini。 – hakre 2012-04-26 22:49:48
- 1. 製作功能適用於所有型號
- 2. 角度$手錶功能不適用於型號改變
- 3. 簡單的jQuery功能適用於所有瀏覽器,但不適用於IE
- 4. 使用單個get函數適用於所有型號
- 5. 變化ActiveRecord的錯誤適用於所有型號
- 6. RoR - 適用於所有型號的全局方法
- 7. Cakephp 3 - 適用於所有型號的變量
- 8. 笨用戶數據的登錄會話,使之適用於所有型號/控制器功能
- 9. jQuery運行總功能不適用於所有字段
- 10. 哪個JQuery版本適用於所有jQuery功能?
- 11. JQuery隱藏和顯示功能不適用於所有滑塊
- 12. 功能不適用於所有div同級
- 13. jQuery的懸停功能並不適用於所有div的
- 14. $('div')。點擊功能不適用於所有div
- 15. iOS:MFMailComposeViewController不適用於型號
- 16. 適用於xts的功能
- 17. 功能不適用於.CALL
- 18. 如何使用所有型號類似的功能在Django
- 19. 功能用於遍歷所有元組
- 20. 如何定義適用於任何型號實例的控制器功能
- 21. ngb-alert只適用於類型=「成功」或沒有類型
- 22. JavaScript功能不適用於Chrome和IE,但適用於FireFox
- 23. Symfony route_for功能
- 24. Django ORM不適用於型號
- 25. stargazer()適用於奇點型號
- 26. 核心數據警告:「版本哈希信息不適用於所有型號」
- 27. 創建所有原型功能
- 28. 強插功能僅適用於特定類型的模板
- 29. 如何列出屬於其他型號的所有型號?
- 30. R:適用於所有行對矩陣的功能,而無需環路
可能,你今天已經問過這個問題了嗎? http://symfony.com/doc/current/book/service_container.html – KingCrunch 2012-04-26 20:42:46
輔助函數或實體類的實際行爲? – yitznewton 2012-04-27 12:31:49