最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

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

php模型和控制器之間交互

php模型和控制器之間交互

PHP
臨摹微笑 2018-07-16 15:21:50
學(xué)習(xí)使用的是Tp5.1在看別人代碼的時候想很多關(guān)于數(shù)據(jù)庫的操作之間寫到控制器里面了;public function save(){    $data = input('post');    $validate = $this->validate($data,"app\\common\\TestValidate");        $result = (new UserModel)->save($data);        if($result){        return $this->success('操作成功');    }else{        return $this->success('操作失敗');    }}但是有人說這樣就沒必要用模型,可以將寫入數(shù)據(jù)的方法寫到model里面但是寫在model中在控制器調(diào)用的時候如何判斷是否寫入成功呢?還有就是將數(shù)據(jù)驗證是應(yīng)該寫在控制器還是模型??比如用戶注冊 前端提交->控制器接收請求->模型這之中的數(shù)據(jù)驗證寫到控制器還是模型如果寫到控制器沒什么疑問,但是如果寫到模型模型中驗證失敗返回false 咋樣返回錯誤信息呢? 難道說模型中返回一個數(shù)組['status'=>0,'msg'=>'手機號碼已經(jīng)被注冊'];之后由控制器接收模型返回的該數(shù)組 判斷返回的status嗎?還有順便問問服務(wù)層和邏輯層該如何運用??問題有點多,希望大家告知下,多謝!
查看完整描述

3 回答

?
海綿寶寶撒

TA貢獻1809條經(jīng)驗 獲得超8個贊

如果完全遵循MVC的話,數(shù)據(jù)處理肯定放model啊,然后controller負(fù)責(zé)調(diào)用model 然后根據(jù)model返回的數(shù)據(jù)來進行邏輯處理,TP中model也是可以validate的。

服務(wù)層就是model的一個分層service,一起分出來的還有l(wèi)ogic,他們就是對model的一個分離,service負(fù)責(zé)提供給controller的接口,而logic幫助controller處理邏輯。
比如驗證 可以model只做增刪改查,logic調(diào)用model做判斷并且處理邏輯 再返回給service。
就是為了降低方法之間的耦合


查看完整回答
1 反對 回復(fù) 2018-07-22
?
qq_花開花謝_0

TA貢獻1835條經(jīng)驗 獲得超7個贊

1.MVC了解一下!邏輯控制寫在控制器,數(shù)據(jù)處理寫在model里。
2.控制器調(diào)用model中的方法,model的方法執(zhí)行成功或者失敗返回布爾值,然后控制器根據(jù)布爾值來判斷執(zhí)行的結(jié)果。
3.答案1

查看完整回答
反對 回復(fù) 2018-07-22
  • 3 回答
  • 0 關(guān)注
  • 1430 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號