Codeigniter:控制器太大了,如何将它分成更小的块?

时间:2012-12-01 21:18:13

标签: php codeigniter controllers

我遇到的问题是my_controller.php有超过1000行代码。虽然我没有问题导航它,但我希望将该控制器的一部分放在其他文件中。

更详细:

我有一个控制器,它包含特定对象(及其子节点)的CRUD函数(不是模型函数,控制器函数,这意味着没有数据库查询)

现在,对于每个CRUD,我都有一个充当控制器的函数(通过url访问的函数,如果是Create部分,它将准备一个表单),一个管理来自form(获取POST并将其发送到验证,如果可以,则发送数据以进行进一步准备)和验证(通过回调验证数据)和准备(主要用于调用模型方法并向其发送准备好的数据数组) )。

由于此控制器中所有对象的CRUD主要使用相同的数据,因此它们共享许多功能。

所以我想创建特定的.php来存储验证,回调函数,准备等功能。

这样做的最佳方式是什么?

创建CRUD控制器时的常用程序或良好做法是什么?

我希望我足够清楚,我对语言和php编程的了解相当有限。

1 个答案:

答案 0 :(得分:1)

你有一个“胖”控制器。一种选择是看看什么可以轻松推送到模型,以便你有一个“瘦控制器脂肪模型”。考虑模型的一种方法是使用数据库表以及如何使用数据的业务规则。因此,验证和数据准备等事情可能会在模型中发生。然后控制器只需关闭并收集对象和数组。而型号可以直接调用其他型号。

如果您不喜欢这种方法,或者您需要更便携的东西,那么请使用库。另一件需要注意的是,如果在不同的地方需要短位(技术术语) - 请查看将它们放在站点配置文件中。