2 回答

TA貢獻(xiàn)2037條經(jīng)驗(yàn) 獲得超6個(gè)贊
一般情況下是一個(gè)表對(duì)應(yīng)一個(gè)model類,不用也是可以的。
至于你說的簡化代碼,給你舉個(gè)例子:
比如說你有一個(gè)user表,里面有 id name pass time(登錄時(shí)間),對(duì)其的操作頁面有注冊,登錄,修改密碼等等
如果你要使用M來進(jìn)行實(shí)例的話,不管是注冊還是干啥,你每次都要對(duì)提交過來的信息是否合法進(jìn)行一個(gè)驗(yàn)證,time時(shí)間每次都要使用time()函數(shù)來重新生成以下
但是如果你使用了model,使用D來實(shí)例化,這些信息的驗(yàn)證,和time()的完成都可以寫到model中,就不用在上面說的那些頁面當(dāng)中一一進(jìn)行操作驗(yàn)證或者添加了。
12345678910111213141516 | class UserModel extends Model { //使用下面的這些可以很方面對(duì)user表進(jìn)行操作,省去了多次對(duì)表進(jìn)行操作時(shí)候所書寫的驗(yàn)證和完成之類的代碼。 //自動(dòng)驗(yàn)證 protected $_validate = array ( array ( 'name' , 'require' , '用戶名不能為空' ), array ( 'name' , '' , '用戶名已存在' ,0, 'unique' ,1), array ( 'user_pwd' , 'require' , '新密碼不能是空' ,0, '' ,2), //只更新時(shí)驗(yàn)證 ); //自動(dòng)完成 protected $_auto = array ( array ( 'addtime' , 'time' ,1, 'function' ), ); //上面的一些規(guī)則可以參考自動(dòng)完成和自動(dòng)驗(yàn)證的規(guī)則,需要調(diào)用函數(shù)的時(shí)候,在下面自己再添加自定義的函數(shù) } |

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
Thinkphp模型類的主要作用是:完成業(yè)務(wù)邏輯處理,包括對(duì)數(shù)據(jù)表的增刪改查(CUED
)操作。對(duì)處理的數(shù)據(jù)進(jìn)行封裝;對(duì)字段及屬性進(jìn)行驗(yàn)證;完成對(duì)象及屬性的過濾等功能。
Thinkphp模型類的命名規(guī)則:使用駝峰法命名,并且首字母大寫,然后加上模型層的名稱。
- 2 回答
- 0 關(guān)注
- 733 瀏覽
添加回答
舉報(bào)