如何在CakePHP中组织共享功能?

时间:2013-03-07 12:24:52

标签: php cakephp

我需要创建很多函数,由6+控制器使用。所以... 共享功能

此功能需要

  • 模型访问
  • 数据库访问
  • Lib Access
  • 供应商访问
  • 插件访问
  • 查看重定向
  • 返回参数(回调)

最佳方式是什么?

  • 组件
  • 行为
  • 供应商

我的网站配置

  • CakePHP 2.3
  • MySQL 5.5
  • PHP 5.3.9
  • Apache 2.2

抱歉我的英文。 感谢。

2 个答案:

答案 0 :(得分:5)

Helpers are for (multiple) views
Behaviors are for (multiple) models
Tasks are for (multiple) shells
Components are for (multiple) controllers

所以 - 如果你跨控制器共享这些功能,那么逻辑上的答案就是使用组件。

所有其他“选项”提供的失败至少有一个原因。

但请记住,您仍然必须将模型内容保持在模型层附近,并且只能通过控制器/组件中的模型方法使用它。 不要将这些组件作为强大的模型或其他东西。它们旨在分享控制器之间的“逻辑”。

答案 1 :(得分:0)

您可以在Appcontroller文件中编写这些功能,以便全局访问它们。