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

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

PHP MVC框架中modeL的作用

PHP MVC框架中modeL的作用

POPMUISE 2019-03-02 10:03:41
PHP MVC框架中modeL的作用
查看完整描述

2 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

MVC概念來自傳統的桌面軟件開發,在那樣的環境下,事件發生時,Model可以主動通知View,而這在HTTP協議里是不可能的(長連接comet除外?。?。長期以來,PHP業界對MVC框架中M和C的理解和運用都是不精細的(當然,夠用就好,能滿足絕大多數業務了)。這導致MC分層不清,PHPer在寫代碼的時候沒有明確的規則,到底業務邏輯放在C里還是M里,常見的問題有:

C層承擔職責過多,如,贊一個答案是給對應回答者加聲望,寫到C里面去了

M層太單薄,就繼承一下框架的Model(或者DB類),實現數據庫的增刪查改

非數據庫操作(如調用微博OpenAPI)只好包裝到Util類

用戶輸入($_GET,$_POST)全局亂跑,M層和Util里都有

由于大部分場景下,PHP都用來做Web應用,而且是Database Driven Application,所以,各類Database Driven的快速開發框架也應運而生,比如說,CakePHP的Model類干脆就定義了CURD幾個針對數據表的操作,Qcodo直接根據數據表結構自動生成MVC三層的腳手架代碼。

我理解的PHP應用是5層結構,M層應再拆分為Biz Model,DAO,Infrastructure,貼幾幅圖片:



查看完整回答
反對 回復 2019-03-09
?
慕少森

TA貢獻2019條經驗 獲得超9個贊

在一些小型項目中,完全可以舍棄Model層,但是大項目中,會有分工合作的。模型負責跟DB的交互,控制器就可以用戶動作提交判斷、調用不同的model,最后想用戶返回結果。后期維護也會非常方便。

查看完整回答
反對 回復 2019-03-09
  • 2 回答
  • 0 關注
  • 895 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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