我目前有一個幫助器(FieldFormatterHelper
),我創建這個幫助器的目的是爲了在各種視圖中協調一致的格式化某些類型的數據(日期,布爾值,枚舉類型等)。把CakePHP項目中的通用功能放在哪裏
特別是我使用整數在MySQL中存儲某些枚舉類型,然後在我的視圖中顯示相應的字符串值。我現在遇到的問題是,雖然這個Helper適用於我的視圖,例如管理用戶從站點後端訪問的「視圖」和「索引」視圖,但在幾個創建JSON輸出的模型中也有afterSave()
方法在前端呈現鬍鬚。
我或多或少地理解了MVC的核心思想,以及不試圖從模型中訪問View Helper的基本論點,但我需要某種對我的Helper提供的功能的普遍訪問。當然,我可以在我的前端JavaScript和其他我可能需要的地方定義枚舉類型映射,但是這違反了DRY原則,並最終成爲一個難以維護的問題。
所以,問題是:如果不適合從我的模型中訪問/加載我的助手,我應該在哪裏以及如何封裝這個功能,以便我的模型和各種視圖都可以使用它?
理想情況下,我將能夠繼續使用我現有的FieldFormatterHelper
- 也許修改爲這個新容器的包裝。
任何關於CakePHP和MVC方式的指導都值得讚賞。謝謝。
非常相似http://stackoverflow.com/questions/17448380 /想要創建自定義函數/ 17448960#17448960 – mark