我正在开始我的“学习MVC”的方式.基本上,面向对象编程没有大的问题,但有一个需要澄清的技术方面.看来我的理论还不够好.
目前,我正在使用KohanaPHP框架,版本3.
所以我有以下结构:
classes/ /controllers/ article.PHP /models/ articles.PHP
到现在为止还挺好.我没有扩展Kohana_Model的模型的问题,但是我不知道我是否正在使用正确使用ORM的模型.
基本上当使用扩展Kohana_Model的模型时,我将所有的逻辑运算放在模型中.我应该对使用ORM的机型做同样的事情吗?在网络的许多例子中,我看到正在对数据库进行逻辑操作的用户输入/数据的控制器,这在我看来是不正确的.
假设我需要从数据库中获取几行,所以我在模型中创建正确的方法并返回对象.我觉得是正确的,不是吗?
基本上,所有操作对用户输入/数据(从db选择,插入到db,验证)我放在模型中.这就是我理解MVC设计模式的方式.模型应该关心所有的“机械”操作,控制器只是模型/视图之间的“桥梁”,它是一个“前”引擎.
这是正确的方法吗?
我知道这对于更高级的用户来说可能是一个愚蠢的问题,但是我只想学习好的做法.如果有人能做出一些澄清,我会很高兴.
干杯,
嘛