12 回答
TA贡献2041条经验 获得超4个赞
简单说一下MVC, 首先说一下层次定义:
- 视图(View):用户界面。
- 控制器(Controller):业务逻辑
- 模型(Model):数据保存
其次,看图好说话。
最后,上面的大神们官话都说的很多了,我来用白话说说MVC的关系。打个比方,你现在的工作HTML php mysql 都在同一頁
, 就好比一个家庭厨房,客人点餐(view), 你接单(Controller), 你做菜(Model), 你摆盘上菜(view)都是你一个人完成的。有错吗?对于家庭厨房来说显然没有。然后新年到了,之前平均每天就5个客人点菜,过年这天突然有100个人点菜,你懵逼了,眼看着大把大把的钱赚不到啊,累得跟粑粑一样,就做了10个客人。怎么办!你决定拼爹了,找了老爸投资100万。于是,你请了美女小花前台负责招待客人(view),你有了自动点餐系统(Controller),你请了1个打杂的负责切菜(Model1),你请了1个厨师负责油炸食品(Model2),你请了1个厨师负责面点(Model3),你清了1个厨师负责炒菜(Model4), 然后你就了一个高效的餐馆结构:
- 客人甲点菜,美女小花通过电子点餐平台下单:炸丸子, 小笼包,腊肉唐芹,红烧肉。
- 于是,油炸师傅开始做炸丸子
- 于是,面点师傅开始做小笼包
- 于是,炒菜师傅开始抄腊肉唐芹,红烧肉
- 没有于是,打杂师傅依旧不停的在准备各种配料爱谁谁
- 客人乙点菜,美女小花又蹦蹦跳跳的去下单了:炸春卷,炸丸子,炸饺子
- 于是,油炸师傅疯了,累成了粑粑
- 于是,面点师傅跟炒菜师傅跟在外面抽烟休息看着油炸师傅累成了粑粑
- 没有于是,打杂师傅依旧苦逼的不停的在准备各种配料爱谁谁
这就是MVC的基本核心意义:各司其职。 粗狂的说,在成开发流程中:做前端的就负责view,做后端的就负责Controller,做数据的就负责Model。 至于如果是个人做开发该怎么办?简单:框架,框架,框架!好的框架能让你更好的理解MVC的结构,重塑开发习惯,延伸开发思维方式。
我个人对php框架的推荐:
- Codeigniter 这个算是PHP MVC框架的爷爷,国内好几个框架都是山寨这个的。这个适合第一次接触MVC的用户,这个逻辑非常清晰适合初学者。
- Laravel 适合中高级的php程序猿,好用到爱不释手,把程序猿从繁重的配置工作中抽离。
TA贡献1900条经验 获得超5个赞
mvc不是什么原理。是一种分类。
程序员在长期的开发中发现,程序可以分为这几个部分:控制器C负责居中调度,模型M负责数据存储,视图V负责数据展示。
就形成了 mvc
TA贡献1802条经验 获得超6个赞
不光是PHP,在其它编程语言中,MVC也是一样的原理,即Model、View、Controller
,用户所有的请求访问都交由Controller
负责,它调度Model(数据模型)
和View(视图)
,然后把组装好数据的View
返回给用户,这样做的好处是一套Model
可以用于不同的View
,View
与Model
不必知道对方的存在,它们不用耦合在一起。具体的可以找一些小例子研究一下。
- 12 回答
- 0 关注
- 425 浏览
添加回答
举报