Bra*_*rad 2 model-view-controller kohana models
在一些较小的站点上使用了一些PHP框架,如Codeigniter和Kohana,我开始怀疑MVC是否仍然适用于大型项目,如果是这样,需要采取哪些预防措施来保持干净的clode.大型网站使用哪些做法来防止这种情况?亚马逊或Flickr的代码是使用MVC还是其中的一些变体?有一个指南,给定一个问题,向您展示如何最好地为大型项目实施MVC?
- 切线 -
在使用Kohana的当前项目中,我开始质疑我的模型应该具有什么样的角色.通常情况下,模型只能描述我正在尝试构建的对象的一小部分.即,需要一个用户的对象,所以我使用我的Users_Model从Users表中提取我的用户.但是每个用户的库存中也有几个项目,因此我还需要使用Users_Inventory_Model.但是,每个库存项目还有其他与之关联的表格,依此类推,直到我发现在我的控制器中构建一个用户需要我访问多个模型.现在,想象一下在许多不同的控制器中执行此操作,突然间我发现自己的代码很乱,冗余代码和非常胖的控制器.
这让我觉得也许我应该有能够处理大部分工作的库.这样,我可以拥有一个用户库,让它加载我所有相关的用户数据并运行大部分逻辑,如更新,删除等.这是大多数MVC项目发展的方式吗?让库与模型进行大部分交互,而控制器调用库并为视图准备数据?无论如何,这只是我对MVC的一个问题,我无法在网上找到答案.