六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

PHP:MVC迷思

[摘要]近來設計模式風行,MVC隨處可見,PHP領域也不例外,很多論壇都開始討論在PHP中使用MVC。然而,M、V、C在PHP中到底該如何實現?MVC真的適合PHP么?這里Easy給出一些自己的思考。  M...

近來設計模式風行,MVC隨處可見,PHP領域也不例外,很多論壇都開始討論在PHP中使用MVC。然而,M、V、C在PHP中到底該如何實現?MVC真的適合PHP么?這里Easy給出一些自己的思考。

  MVC的原型

  MVC本來是存在于Desktop程序中的,M是指數據模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。比如一批統計數據你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。

  JAVA中的MVC

  JAVA把MVC引入了Web領域,并在此基礎上架構出了一套稱為Model2的體系。由于Web的特殊性,JAVA中的MVC和Desktop中的MVC并不完全一致。主要原因是Web中的V不是持續的,用戶每訪問一次,V就要重新生成一次,所以V始終是和M一致的,不需要C來控制同步。那么JAVA中的C在干什么?JAVA中的C通常用于流程的轉向,其實用的是Dispatch模式,不再是Desktop中的C了。

  PHP中的MVC

  要在PHP中原封不動的COPY JAVA的MVC是不可能的。問題主要表現在M上,在JAVA中,M是獨立于業務邏輯和表現邏輯的數據模型,在服務器端跨頁面存在,JAVA Bean扮演的就是這個腳色。而PHP進程并不長時間駐留于內存,只在PHP頁面開始執行時創建,在頁面解釋執行結束時就已經結束。在這樣的情況下,我們根本無法直接實現M。所以所有聲稱實現了MVC模式的PHP程式都只能通過模擬手段來實現M。實現的方式一般是在當前頁面結束前把數據存入數據庫或者cookie/session,在下一個頁面中再透過數據庫或者cookie/session重建M。這樣的方式和JAVA中的Bean比起來可以說是開銷巨大,本來往內存中寫數據的簡單操作現在要從服務器端傳到客戶端或者數據庫,然后再傳回來。與其用這么大的開銷來維護一個數據模型再在最后把這個模型塞回數據庫,還不如直接根據需要更新數據庫里邊的數據。

 





標簽:PHP:MVC迷思 
主站蜘蛛池模板: 欧美淫片 | 亚欧人成精品免费观看 | 欧美综合伊人久久 | 日韩精品免费观看 | 青青青草免费 | 日本免费高清在线 | 最好韩国日本高清免费 | 一二三四影院在线观看视频 | 亚洲乱码在线视频 | 四虎欧美永久在线精品免费 | 青青草免费观看视频 | 亚洲精品播放 | 最新福利片v国产片 | 欧洲亚洲综合一区二区三区 | 欧美一区二区三区不卡 | 四虎影永久在线观看精品 | 中文字幕色婷婷在线视频 | 天天摸夜夜添久久精品麻豆 | 依人在线视频 | 综合福利网站 | 亚洲精品中文字幕乱码 | 四虎成人免费网址在线 | 我想看一级毛片免费的 | 日韩中文字幕网 | 一区二区三区国产美女在线播放 | 四虎地址| 色噜噜噜噜噜在线观看网站 | 日本欧美不卡一区二区三区在线 | 四虎院影永久在线观看 | 天堂网在线看 | 日韩高清在线播放不卡 | 亚洲污视频 | 亚洲小视频在线播放 | 午夜老司机在线观看免费 | 天天澡夜夜澡人人澡 | 亚洲成人影院在线 | 日韩欧美激情视频 | 青青青激情视频在线最新 | 色综合久久综合网 | 日本 欧美 国产 | 色噜噜狠狠大色综合 |