第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

php模型和控制器之間交互

php模型和控制器之間交互

PHP
臨摹微笑 2018-07-16 15:21:50
學(xué)習(xí)使用的是Tp5.1在看別人代碼的時(shí)候想很多關(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í)候如何判斷是否寫入成功呢?還有就是將數(shù)據(jù)驗(yàn)證是應(yīng)該寫在控制器還是模型??比如用戶注冊 前端提交->控制器接收請求->模型這之中的數(shù)據(jù)驗(yàn)證寫到控制器還是模型如果寫到控制器沒什么疑問,但是如果寫到模型模型中驗(yàn)證失敗返回false 咋樣返回錯(cuò)誤信息呢? 難道說模型中返回一個(gè)數(shù)組['status'=>0,'msg'=>'手機(jī)號(hào)碼已經(jīng)被注冊'];之后由控制器接收模型返回的該數(shù)組 判斷返回的status嗎?還有順便問問服務(wù)層和邏輯層該如何運(yùn)用??問題有點(diǎn)多,希望大家告知下,多謝!
查看完整描述

3 回答

?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊

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

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


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

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊

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

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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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