3

我正在使用 Codeigniter 充实一个相当大的项目(尤其是对于 n00b)。我遇到的一个问题是如何组织我的文件和方法。我已将我的项目分解为功能 - 该应用程序是一个任务管理软件,因此我们已经拥有诸如“任务”、“项目”、“用户”等基本功能。

我打算这样做的方法是为每个控制器创建控制器,然后在每个控制器中遵循 CRUD 方法。因此,例如在 Task 中,我们将有以下方法:

create()
read()
update()
delete()

这在我脑海中是有道理的。现在就视图而言,我应该有多个视图,还是应该将创建和更新组合到同一个表单中?此外,非 View 功能在哪里,例如设置 cookie 等?

这是一个非常具体的问题,但如果有人对 CodeIgniter 项目的一般结构约定有任何更全面的指南,我将不胜感激。

4

3 回答 3

2

我会说你没看错。这就是我所做的。

我倾向于使用相同的视图来创建和更新,如果可以的话,保持它干燥(不要重复自己)。

不处理任何与业务相关的非视图相关的东西放在我所说的助手类中。如果它与业务相关,我会将所有逻辑放入服务中,这样我就可以在不依赖任何框架的情况下对它们进行单元测试(不确定你在这方面有多新,但是哦,好吧:))。

于 2013-09-04T13:34:17.597 回答
0

我的控制器由这些方法组成,它们遵循 REST API 指南:

  • 读取-> 获取所有记录。
  • 查找-> 按主键/ID 查找记录。
  • 创建-> 显示表单视图。
  • store -> 将表单中的数据插入数据库。
  • 编辑-> 显示表单视图,填充当前记录的数据。
  • update -> 将表单中的数据更新到数据库中。
  • 删除-> 从数据库中删除数据。

这称为资源控制器。

是的,您可以将创建和编辑以相同的形式结合起来。但是,有些情况需要您使用不同的创建和编辑表单。在这种情况下,只需制作 2 个单独的表格。

而且......就像@Theodore 建议的那样,如果您不需要太多自定义,GroceryCRUD 值得一试。

于 2013-09-04T15:06:33.050 回答
0

您还可以使用Grocery Crud,这是一个为 codeigniter 提供开箱即用的 CRUD 功能的库。

它处理了很好的 1->n 和 n->n 关系,因此对于小型项目来说很方便。

我不知道你是否熟悉它。如果不试一试。它将为您节省大量时间和精力。

于 2013-09-04T14:10:52.070 回答