CakePHP在另一个控制器中调用函数的最佳实践

CakePHP在另一个控制器中调用函数的最佳实践,php,cakephp,cakephp-2.0,Php,Cakephp,Cakephp 2.0,我有一个控制器附件,负责处理所有上传文件。此控制器使用组件执行此控制 现在我有以下问题,我需要从另一个控制器调用附件控制器中实现的函数,这种情况下的最佳实践是什么?鉴于: 不建议从一个控制器调用另一个控制器的函数 如果我在我的模型中实现该功能,则必须使用一个也不建议使用的组件 你没有。这是完全错误的,违反了MVC模式 文件表示系统中的单个实体,应作为模型层中的实体(IMO)处理,而不是在控制器中处理。您可以在单个模型中实现验证和保存逻辑,并通过其他地方的关联访问该模型(如果有的话) 例如,用户

我有一个控制器附件,负责处理所有上传文件。此控制器使用组件执行此控制

现在我有以下问题,我需要从另一个控制器调用附件控制器中实现的函数,这种情况下的最佳实践是什么?鉴于:

  • 不建议从一个控制器调用另一个控制器的函数
  • 如果我在我的模型中实现该功能,则必须使用一个也不建议使用的组件

    • 你没有。这是完全错误的,违反了MVC模式

      文件表示系统中的单个实体,应作为模型层中的实体(IMO)处理,而不是在控制器中处理。您可以在单个模型中实现验证和保存逻辑,并通过其他地方的关联访问该模型(如果有的话)

      例如,用户有一个头像,画廊有许多图像。其中,阿凡达和画廊协会是您的附件或文件表模型

      我已经写了一个插件,完全做到了以上几点

      使用该选项或将控制器逻辑移动到模型中。控制器应该非常瘦,并且只有控制逻辑,它们不应该关心数据处理或操纵