我正在使用Codeigniter来充实一个非常大的项目(特别是对于n00b)。我遇到的一个问题是如何组织我的文件和方法。我已将我的项目分解为功能 - 应用程序是一个任务管理软件,所以我们已经拥有基本功能,如“任务”,“项目”,“用户”等。
我打算这样做的方法是为每个创建控制器,然后在每个控制器中使用CRUD方法。因此,例如在Task中,我们将使用以下方法:
create()
read()
update()
delete()
这在我的头脑中是有道理的。现在就视图而言,我应该有多个视图,还是应该将创建和更新组合到同一个表单中?此外,非视图功能在哪里,例如设置cookie等?
这是一个非常具体的问题,但如果有人对CodeIgniter项目的一般结构惯例有任何更全面的指导,我将非常感激。
答案 0 :(得分:2)
我说你做对了。这就是我的工作。
我倾向于使用相同的视图进行创建和更新,如果可以,请保持干燥(不要重复自己)。
不处理与业务相关的任何事情的非视图相关的东西都在我称之为helper-classes的东西中。如果它与业务相关,我将所有逻辑都放入服务中,因此我可以对它们进行单元测试,而不依赖于任何框架(不确定你对此有多新,但是很好:) :)。
答案 1 :(得分:0)
您还可以使用Grocery Crud,这是一个为codeigniter提供现成CRUD功能的库。
它处理相当不错的1> n和n-&n; n关系,因此便于小项目。
我不知道你是否熟悉它。如果不试一试。它将为您节省大量的时间和精力。
答案 2 :(得分:0)
我的控制器包含这些遵循REST API准则的方法:
这称为资源控制器。
是的,您可以将创建和编辑组合在一起。但是,有些情况下需要您使用不同的创建和编辑表单。在这种情况下,只需制作2个单独的表格。
而且......就像@Theodore建议的那样,如果你不需要太多的自定义,GroceryCRUD值得一试。