MVC(Model View Controller),是模型(model)-视图(view)-控制器(controller)的缩写,它是一种软件设计思想和架构模式,用来将业务逻辑、数据操作、界面显示分离分别组织代码的一种软件结构设计。该设计思想于1982年提出,现在使用很广泛。不过既然说它是一种设计思想,那么也就是说,它不属于PHP语言,也不是PHP语言必须的部分。对于软件设计思想来说,没有绝对的好坏之分,主要看是否适合项目的需求。
MVC思想将程序分成三层:
View(视图):和用户的交互界面,用户展示响应数据和收集用户输入内容
Model(模型):程序的核心业务处理,数据库的操作等。
Controller(控制器):主要用来接收用户请求,根据请求调配各种模型(Model)的数据,进而展示个用户相应的内容(View)
可以简单这么理解MVC:
比如,一个人去饭店吃饭,桌子就像视图(View),用户可以趴在桌子上点菜,另外,菜做好后可以放到桌子上。各个做菜师傅就像模型(Model),比如有的师傅做信阳菜,有的师傅做湘菜,有的做粤菜,他们各自负责一类菜怎么炒,什么时候该在菜里放什么调料,该用什么火候等。控制器(Controller)就像传菜员,他可以接收用户的菜单,然后把根据菜单需求,归类分解成多个小需求,然后把这些需求分配给不同的师傅去做,等做菜师傅把菜做好,他再把这些菜端到各自的餐桌上。
通过前面的理解,我们可以看到,整个MVC的工作流程应该是这样的: