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

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

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迷思 
主站蜘蛛池模板: 亚洲国产情侣偷自在线二页 | 在线看视频的网站入口 | 色天使色婷婷在线影院亚洲 | 全黄大全大色全免费大片 | 午夜手机视频 | 欧美一区二区三区不卡 | 日本乱人伦片中文字幕三区 | 四虎精品久久久久影院 | 四虎在线精品免费高清在线 | 欧美一级xxxx俄罗斯一级 | 性8成人有声小说在线播放 性 色 黄 一级 | 小明精品国产一区二区三区 | 色狠台湾色综合网站 | 四虎影视成人永久在线播放 | 青青草国产免费久久久91 | 日本视频播放 | 五月激情五月婷婷 | 亚洲第一网站在线观看 | 日本二区在线观看 | 日韩一区二紧身裤 | 日韩一级一欧美一级国产 | 中文字幕专区高清在线观看 | 青青青在线视频人视频在线 | 视频国产在线 | 日本特黄特色aa大片免费 | 日韩大片 | 思思久久99热免费精品6 | 午夜网站视频 | 日本三级视频网站 | 日本一区二区免费高清视频 | 日韩黄色免费 | 天天干免费视频 | 日韩一级片免费观看 | 香蕉免费一区二区三区 | 最新国产精品 | 欧美污视频 | 伊人婷婷 | 日韩理论片在线观看电视 | 亚欧色视频在线观看免费 | 日本视频网站在线观看 | 天天艹天天操 |