導航:首頁 > 編程語言 > phpmodel類

phpmodel類

發布時間:2023-08-21 00:35:24

php的tq框架中,的model類,controller類,和view類都有什麼用代碼都應該寫在

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,貼幾幅圖片

② thinkphp 模型類的作用

一般情況下是一個表對應一個model類,不用也是可以的。

至於你說的簡化代碼,給你舉個例子:

比如說你有一個user表,裡面有 id name pass time(登錄時間),對其的操作頁面有注冊,登錄,修改密碼等等

如果你要使用M來進行實例的話,不管是注冊還是幹啥,你每次都要對提交過來的信息是否合法進行一個驗證,time時間每次都要使用time()函數來重新生成以下

但是如果你使用了model,使用D來實例化,這些信息的驗證,和time()的完成都可以寫到model中,就不用在上面說的那些頁面當中一一進行操作驗證或者添加了。

classUserModelextendsModel
{
//使用下面的這些可以很方面對user表進行操作,省去了多次對表進行操作時候所書寫的驗證和完成之類的代碼。
//自動驗證
protected$_validate=array(
array('name','require','用戶名不能為空'),
array('name','','用戶名已存在',0,'unique',1),
array('user_pwd','require','新密碼不能是空',0,'',2),//只更新時驗證
);
//自動完成
protected$_auto=array(
array('addtime','time',1,'function'),
);
//上面的一些規則可以參考自動完成和自動驗證的規則,需要調用函數的時候,在下面自己再添加自定義的函數

}
閱讀全文

與phpmodel類相關的資料

熱點內容
單片機kill4軟體下載收費嗎 瀏覽:846
蘋果手機怎麼連接RMS伺服器 瀏覽:603
cisco路由器基本配置命令 瀏覽:186
android狀態欄顏色透明 瀏覽:116
db2編譯工具 瀏覽:181
騰訊雲伺服器創建環境 瀏覽:567
監管資金怎麼解壓 瀏覽:670
榮耀手機內存清理文件夾 瀏覽:175
外派程序員方案 瀏覽:554
安卓怎麼把桌面的軟體變成卡通 瀏覽:885
魯班鎖解壓嗎 瀏覽:395
打包發送文件如何加密 瀏覽:213
centos解壓縮zip 瀏覽:388
我的世界怎麼用命令風塊取消指令 瀏覽:1000
安卓軟體請求超時怎麼辦 瀏覽:476
androidapp調用另一個app 瀏覽:621
數控銑床法蘭克子程序編程 瀏覽:174
linux打包命令targz 瀏覽:997
抖音app是哪個 瀏覽:407
蘋果app怎麼上架 瀏覽:255