我需要创建很多功能,供 6 个以上的控制器使用。所以...共享功能:
此功能需要:
- 模型访问
- 数据库访问
- 库访问
- 供应商访问
- 插件访问
- 查看重定向
- 返回参数(回调)
最好的方法是什么?
- 库
- 零件
- 行为
- 小贩
我的网站配置:
- CakePHP 2.3
- MySQL 5.5
- PHP 5.3.9
- 阿帕奇 2.2
对不起我的英语不好。谢谢。
Helpers are for (multiple) views
Behaviors are for (multiple) models
Tasks are for (multiple) shells
Components are for (multiple) controllers
所以 - 如果你在控制器之间共享这些功能,合乎逻辑的答案是使用组件。
您提供的所有其他“选项”至少由于一个原因而失败。
但请记住,您仍然必须将模型内容保持在模型层附近,并且只能通过控制器/组件中的模型方法使用它。不要使这些组件成为强大的模型或其他东西。它们旨在在控制器之间共享“逻辑”。
只需在 Appcontroller 文件中编写这些函数,就可以全局访问它们。