代码组织:Model、View、Controller、Logic、Service

MVC是Model模型、View视图、Controller控制器的缩写。其目的是为了良好的代码组织。

Model属于数据层,对数据库做增删改查。

View为视图层。前后端分离时,View层直接被抽出去给前端了。该层在PHP中是模板引擎,或者把该层给JS框架,让PHP做接口返回数据,交给客户端渲染。渲染本质是字符串拼接,将数据渲染进一些固定格式的html代码中形成最终的html展示在用户页面上。拼接字符串会引起性能的消耗。客户端渲染,如Angular、React、Vue等,在首次渲染时,大多是将原html中的数据标记(如 {{ text }} )替换。

Controller为控制器层。它处理用户与服务器的交互,用户输入URL,经过框架启动、路由分配,到控制器层。控制器不负责数据的获取,保证了数据操作的单一路口。

Logic为逻辑层,处理业务逻辑。可将常用的可复用的业务逻辑抽象成一个Logic,Controller可以直接调用Logic。对于简单的业务,可以直接调用Model;如果有复用必要,整理到Logic中。

Service为服务层,为其他层提供服务。

举例。在ThinkPHP中,可以将模块内的Service和Model设置为同级目录,Service的使用方式和Model相同,只是Model主要实现数据的CURD方法,而Service主要配合Model中定义的CURD方法实现业务逻辑,最后Service和Model中的方法还是需要在Controller中调用。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181123B1W55I00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券