Php 模型验证方法-MVC(CodeIgniter)

Php 模型验证方法-MVC(CodeIgniter),php,model-view-controller,validation,codeigniter,model,Php,Model View Controller,Validation,Codeigniter,Model,我有一个模型,它有一个包含22个字段的主表和5个联接表——一些输入数据可能需要在DB中检查,并在插入之前从值转换为id 目前,我有一个950行的代码块,可以一次完成验证/db检查/转换。我看到的问题是,代码不是很灵活,很难测试。我还必须为每一个其他插入/更新操作复制粘贴/重写它,这取决于它是否使用类似的字段 有没有一种方法适合你,你可以建议我?是否将每个字段划分为各自的函数?(那么我还必须将每个字段分开,并通过验证和转换?我建议您将其分解为更多的方法。。。每种方法都应该做一件事,而且只能做一件事

我有一个模型,它有一个包含22个字段的主表和5个联接表——一些输入数据可能需要在DB中检查,并在插入之前从值转换为id

目前,我有一个950行的代码块,可以一次完成验证/db检查/转换。我看到的问题是,代码不是很灵活,很难测试。我还必须为每一个其他插入/更新操作复制粘贴/重写它,这取决于它是否使用类似的字段


有没有一种方法适合你,你可以建议我?是否将每个字段划分为各自的函数?(那么我还必须将每个字段分开,并通过验证和转换?

我建议您将其分解为更多的方法。。。每种方法都应该做一件事,而且只能做一件事。这使得测试更容易,也更灵活。如果你的方法超过10-20行,那么他们可能做得太多了

一旦你在你的类中有了一个方法集合,每个方法都做一件事,那么你就可以创建你要实际调用的方法,让它为你调用那些较小的方法

这样做可以让您的控制器仍然进行相同的方法调用,但是您的验证代码现在更加可重用和可测试