Maison > Article > développement back-end > 一个控制层调用模型 和 视图层调用模型的问题?
一个框架中,我要在视图层输出数据出来:
第一种,在控制器层,把所有的数据都组装好,该调用模型的调用模型,然后视图层模板渲染的时候,不需要再进行数据库读取,直接用php函数输出就好了。
第二种,在控制器层,简单的把必要的数据处理一下,然后视图层模板渲染的时候,根据情况再进行数据库的读取操作;
这两种情况哪种比较好一点?
----------------------补充----------------------
我的观点:我觉得是无所谓的事情,因为在一个控制器的方法中引入了一个模型进来,等于说是把一个文件加载进来了,然后在这个方法中进行数据读取,最后再引入模板文件进来,那么我在这个模板文件中进行数据库读取也是可以的吧,不过是前者增加了模板代码的可读性和简洁性。实际意义上并没有什么大的区别啊,不知道是不是这么回事?
----------------------补充----------------------
知道MVC的特点,但是看到前辈们有的直接在模板中做了数据库查询操作,所以才产生这样的疑问,求解惑~
一个框架中,我要在视图层输出数据出来:
第一种,在控制器层,把所有的数据都组装好,该调用模型的调用模型,然后视图层模板渲染的时候,不需要再进行数据库读取,直接用php函数输出就好了。
第二种,在控制器层,简单的把必要的数据处理一下,然后视图层模板渲染的时候,根据情况再进行数据库的读取操作;
这两种情况哪种比较好一点?
----------------------补充----------------------
我的观点:我觉得是无所谓的事情,因为在一个控制器的方法中引入了一个模型进来,等于说是把一个文件加载进来了,然后在这个方法中进行数据读取,最后再引入模板文件进来,那么我在这个模板文件中进行数据库读取也是可以的吧,不过是前者增加了模板代码的可读性和简洁性。实际意义上并没有什么大的区别啊,不知道是不是这么回事?
----------------------补充----------------------
知道MVC的特点,但是看到前辈们有的直接在模板中做了数据库查询操作,所以才产生这样的疑问,求解惑~
第一种,单一职责
刚开始写代码的时候,我为了省力把数据库查询都写到模版里面,一个方法解决所有问题。直到项目跑了一两个月后对于日渐庞大的代码块前期节省的力气要在这时候加倍付出,而且越往后走项目扩展越大时间付出越多。
现在我使用第一种
怎么说呢,其实各有各的好,
当然无论是从规范,还是从项目的发展来看,建议尽量使用第一种。
如果是个人开发的小项目,且功能及后期扩展都不会太多的话,用第二种方法 倒是更快速一些。 随时用,随时拿
第一种好!第一种还分把业务逻辑放在M 还是 C的。这个也因人而异。