ThinkPHP里的MVC
M:Model
model对应所有的数据操作,相当于将数据库相关进行了一次封装,每个model就是数据库里的一个表。
而且有两种操作模型的方式:- M() 方法:直接得到数据库里的表,没有高级功能,只能手动进行CURD
- D() 方法:实例化model对象,不仅可以进行CURD的原子操作,还可以使用ThinkPHP提供的高级方法(自动验证、自动完成等)。
D() 方法实例化model对象就体现出了构建model这一层封装的优势:
对数据的处理只需要在model里放一份代码,避免逻辑混乱的情况。V :html
view在web里是浏览器加载的页面,那么就是htmlC :Action
每个action对应于一个URL请求,换句话说就是用户的每一个动作(打开某个页面,提交某个数据)都放在一个action里完成。- action收到用户的请求(一个URL地址) - 把数据判断加工,放进view里(这里是用到model的部分) - 向用户展示结果页面(这里是用到view的部分)
MVC把 数据 –> 视图 的过程进行了横向的拆分,让整个工程结构简单,易于维护,是一种陈旧但又经典的设计模式。