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