CodeIgniter CRUD结构

时间:2013-09-04 13:26:01

标签: php codeigniter directory-structure

我正在使用Codeigniter来充实一个非常大的项目(特别是对于n00b)。我遇到的一个问题是如何组织我的文件和方法。我已将我的项目分解为功能 - 应用程序是一个任务管理软件,所以我们已经拥有基本功能,如“任务”,“项目”,“用户”等。

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

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

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

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

3 个答案:

答案 0 :(得分:2)

我说你做对了。这就是我的工作。

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

不处理与业务相关的任何事情的非视图相关的东西都在我称之为helper-classes的东西中。如果它与业务相关,我将所有逻辑都放入服务中,因此我可以对它们进行单元测试,而不依赖于任何框架(不确定你对此有多新,但是很好:) :)。

答案 1 :(得分:0)

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

它处理相当不错的1> n和n-&n; n关系,因此便于小项目。

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

答案 2 :(得分:0)

我的控制器包含这些遵循REST API准则的方法:

  • 阅读 - >得到所有记录。
  • 查找 - >按主键/ id查找记录。
  • 创建 - >显示表单视图。
  • 商店 - >将表单中的数据插入数据库。
  • 修改 - >显示表单视图,填充当前记录的数据。
  • 更新 - >将表单中的数据更新到数据库中。
  • 删除 - >从数据库中删除数据。

这称为资源控制器。

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

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