亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求救,我真的不懂MVC

求救,我真的不懂MVC

PHP
拉莫斯之舞 2019-03-04 19:45:11
想請問 php 的 mvc原理是什麼?我百思不得其解呀~?這真的好複雜!我是傳統php 寫法,就是HTML php mysql 都在同一頁,如何轉到mvc不吃力?
查看完整描述

12 回答

?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

簡單說一下MVC, 首先說一下層次定義:

  • 視圖(View):用戶界面。
  • 控制器(Controller):業務邏輯
  • 模型(Model):數據保存

其次,看圖好說話。
https://img1.sycdn.imooc.com//5c8f511400014b1208000295.jpg

最后,上面的大神們官話都說的很多了,我來用白話說說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程序猿,好用到愛不釋手,把程序猿從繁重的配置工作中抽離。
查看完整回答
反對 回復 2019-03-18
?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

mvc不是什么原理。是一種分類。

程序員在長期的開發中發現,程序可以分為這幾個部分:控制器C負責居中調度,模型M負責數據存儲,視圖V負責數據展示。

就形成了 mvc

查看完整回答
反對 回復 2019-03-18
?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

不光是PHP,在其它編程語言中,MVC也是一樣的原理,即Model、View、Controller,用戶所有的請求訪問都交由Controller負責,它調度Model(數據模型)View(視圖),然后把組裝好數據的View返回給用戶,這樣做的好處是一套Model可以用于不同的View,ViewModel不必知道對方的存在,它們不用耦合在一起。具體的可以找一些小例子研究一下。

查看完整回答
反對 回復 2019-03-18
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

過一年你就懂了!

查看完整回答
反對 回復 2019-03-18
?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

用框架寫個項目,你就能理解了

查看完整回答
反對 回復 2019-03-18
?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

HTML php mysql 都在同一頁
當這一頁需要修改的時候,你有感覺吃力嗎
有的話試試 一些PHP框架 應該就可以理解了

查看完整回答
反對 回復 2019-03-18
  • 12 回答
  • 0 關注
  • 454 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號