我目前FieldFormatterHelper
创建了一个 Helper ( ),以帮助在各种视图中对某些类型的数据(日期、布尔值、枚举类型等)进行一致的格式设置。
特别是,我使用整数在 MySQL 中存储某些枚举类型,然后在我的视图中显示相应的字符串值。我现在遇到的问题是,虽然这个帮助程序适用于我的视图,例如管理用户从站点后端访问的“视图”和“索引”视图,但我afterSave()
在几个模型中也有方法可以创建 JSON 输出前端的小胡子渲染。
我或多或少地了解 MVC 的核心思想和基本论点,例如,不要尝试从模型中访问 View Helper,但我需要对 Helper 提供的功能进行某种通用访问。当然,我可以在我的前端 JavaScript 和其他我可能需要它的地方定义我的枚举类型映射,但这违反了 DRY 原则,最终维护起来会很痛苦。
所以,问题是:如果不适合从我的模型中访问/加载我的助手,我应该在哪里以及如何封装这个功能,以便我的模型和各种视图都可以使用它?
理想情况下,我将能够继续使用我现有的FieldFormatterHelper
--perhaps modifying 作为这个新容器的包装器。
任何关于 CakePHP 和 MVC 方式的一般指导将不胜感激。谢谢。