我正在使用PHP Codeigniter atm。我读过几篇强调“胖模型和精简控制器”的文章,并且该模型应该处理所有的业务逻辑,让直接处理数据库和控制器的方法直接处理用户输入。遵循这些规则,似乎有必要通过控制器间接传递$ _POST数组数据。但有时它更直接,几乎必须直接在控制器中处理用户数据。关于MVC设计的建议,在控制器中生成视图
此外,CI的form_validation类不允许您在配置文件的form_validation.php中设置自定义错误消息。为此,我们需要编写call_back方法。但是,如果我们要为每个字段编写call_back方法,控制器将会变得“胖”,并且为什么我会首先使用form_validation类。
另一件事是,有时我会发现需要根据数据库和用户输入等来生成内容。但是在控制器中这样做似乎违背了“逻辑和表示的分离”。例如,CI有一个表格和表格助手,分页等......这些都是演示文稿。将这些写入控制器会使控制器再次变得肥胖。所以我想我可能应该为视图生成编写控制器方法,或者我应该编写一个模型或库来处理演示文稿?
我很感激一般的MVC方法的一些很好的建议和提示。谢谢。
嗯,事情是,CodeIgniter与MVC没什么关系(除了用它作为营销工具)。至于“表单验证”,在适当的MVC设置中,您应该(也将)能够将表示层与模型层分开。数据来自html表单应该没关系。验证规则**是**业务规则的一部分。这就是为什么它应该发生在模型层的内部。特别是 - [域对象](http://c2.com/cgi/wiki?DomainObject)。 – 2014-09-27 19:56:43