【问题标题】:Best practice in CakePHP for call function in another controllerCakePHP 在另一个控制器中调用函数的最佳实践
【发布时间】:2014-07-15 09:47:01
【问题描述】:

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

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

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

【问题讨论】:

    标签: php cakephp cakephp-2.0


    【解决方案1】:

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

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

    例如 User hasOne Avatar,Gallery hasMany Image。 Avatar 和 Gallery 关联是您的附件或文件表模型。

    我已经编写了一个插件,它完全可以完成上面的工作,还有更多 https://github.com/burzum/cakephp-file-storage

    使用它或将您的控制器逻辑移动到模型中。控制器应该真的很瘦,只有控制逻辑,他们不应该关心数据处理或操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      • 2010-12-03
      • 1970-01-01
      • 2012-03-23
      • 2017-04-23
      • 2016-11-05
      相关资源
      最近更新 更多