框架thinkphp有几个层,包括controller层、logic层、 service层 、model层和view层,按MVC原则开发编程,它们的关系应该是怎样的?
controller层是控制层,logic层是业务逻辑层,service层是服务层,model层是模型层,view层是视图层。
controller接收请求,调用logic的方法,根据返回结果做出响应。
logic接收请求参数,做逻辑处理,也可以调用model层或service层的方法,获取结果返给controller。
model主要连接数据库获取数据,然后做简单的数据加工,返给调用的logic或service,一个model只负责一张表,除了关联,跨表多表的操作一般交给service或logic,注意,一个方法只做一件事,以供多个logic和service重复调用。
service可以解决跨表多表的数据库连接,可以调用model,或者解决不需要数据库连接的业务逻辑,注意,一个方法只做一件事,以供多个logic重复调用。
层次分明容易开发修改维护,避免一个层的代码太多难于理解,一个方法可以重复调用提高开发效率减少代码量,应该是采用MVC模式开发的主要目的。
网友评论