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

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

php模型和控制器之間交互

php模型和控制器之間交互

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

3 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

如果完全遵循MVC的話,數據處理肯定放model啊,然后controller負責調用model 然后根據model返回的數據來進行邏輯處理,TP中model也是可以validate的。

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


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

TA貢獻1835條經驗 獲得超7個贊

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

查看完整回答
反對 回復 2018-07-22
  • 3 回答
  • 0 關注
  • 1384 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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