【问题标题】:Folder structure for multiple models多个模型的文件夹结构
【发布时间】:2017-04-27 21:16:17
【问题描述】:

在我的 CakePHP 3 应用程序中,我为不同的部分使用了不同的控制器 - 如下所示:

app/src/Controller/Admin/...  
app/src/Controller/Backend/...  
app/src/Controller/Frontend/...  
app/src/Controller/Api/...  

所有模板都遵循相同的层次结构。

现在,由于我的应用程序变得越来越复杂,我还想拆分所有模型类,将它们放在类似的文件夹结构中。

那么这怎么可能呢?如何告诉控制器默认使用哪个表类?

【问题讨论】:

  • 只是为了整理它们?为什么?您想通过拆分它们来完成什么?我什至不会像那样构建你的控制器 - 即使你有一个包含 500 多个模型的极其复杂的应用程序,蛋糕的约定也能正常工作
  • 好吧,如果我将模型类放在同一个文件夹结构中,它们将无法识别 - 控制器总是将模型加载到默认目录 (...app/src/Models/) 中。我想将它们分开以获得更好、更清晰的应用程序结构。例如,在后端和管理区域中需要一些行为和虚拟字段,这些在前端已经过时。如果您将所有内容放在一个简单的模型中,显然维护和进一步开发会变得更加困难。控制器结构遵循蛋糕路由和前缀。
  • 您的 API 肯定会使用大部分与前端、后端和管理员相同的表。您似乎想在结构的每个文件夹中制作它们的副本,以便您可以删除每个特定区域中未使用的虚拟字段?看起来您正在接受更多的维护,因为您修复的任何错误或添加的功能都需要在多个版本上进行检查。

标签: cakephp cakephp-3.0


【解决方案1】:

由于 Cakephp 更喜欢约定而不是配置,所以如果你只遵循表格、模型和控制器的约定,那么你不需要担心这些事情。这里是学习链接conventions,这里是 cakephp @987654322 @buid 由 Cakphp 团队进行约定检查。如果找到解决此问题的方法,我会帮助您

【讨论】:

  • 谢谢,我知道蛋糕的惯例。无论如何,如果我将模型放在相同的文件夹结构中,默认情况下它们不会被识别。控制器将模型加载到默认目录 (app/src/Models/*) 中。
猜你喜欢
  • 2016-12-29
  • 2019-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-23
  • 1970-01-01
  • 2017-01-15
  • 2018-11-17
相关资源
最近更新 更多