<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                1.自己寫寫的第一個接口,用于一個PC官網 代理商查詢接口。 ``` Public function verify() { //獲取提交數據 $str = $this->request->get('str'); If(empty($str)) { //沒有輸入內容,返回錯誤信息 return $this->error('請輸入信息'); } //到數據庫中查詢是否有這個驗證碼 $model = Db::name('agent')->where('name', '=', $str)->find(); If(empty($model)) { //驗證碼不存在,反饋錯誤信息 return $this->error('無代理商信息'); } //反饋正常信息,并反饋之前查詢的歷史記錄 return $this->success('查詢的信息是正確的'); } ``` 2.一天網站增加了手機端(沒有用自適應,完全獨立的域名,也沒有用跨站請求),所以把上面的,驗證接口代碼,復制粘貼了一份出來。 ![](https://img.kancloud.cn/66/e7/66e7efdd714ab519f5b71d774477537a.png) ![](https://img.kancloud.cn/78/ff/78ff3051d8e590be0c80d62f2dc5bdac_1522x781.png) 3.查詢的規則發生了好幾次變化 , 姓名查詢-->手機號碼查詢 -->手機 +身份證號碼 --> 手機 +身份證號碼 + 姓名查詢。那么,每次調整,都要修改兩次。 ![](https://img.kancloud.cn/60/ae/60aeee2079c7a09dea5e27964b440bc5_982x416.png) 4.雖然一個需求調整兩個地方,也問題不大,但是總感覺怪怪的。要是有5個地方都使用同樣的代碼,那不是要修改5次?還是得調整程序 ``` <pre class="calibre7">``` //接口代碼 Public function verify() { //獲取提交數據 $str = $this->request->get('str'); try{ AgentLogic::verify($str); return $this->success('查詢的信息是正確的'); }catch (\Exception $e) { //捕捉到 throw new \Exception 后,返回相應的錯誤信息 return $this->error($e->getMessage()); } } //定義的代理類 class AgentLogic { public static function verify($str) { If(empty($str)) { //沒有輸入內容,返回錯誤信息 throw new \Exception('請輸入信息'); } //到數據庫中查詢是否有這個驗證碼 $model = Db::name('agent')->where('name', '=', $str)->find(); If(empty($model)) { //驗證碼不存在,反饋錯誤信息 throw new \Exception('無代理商信息'); } return true; } } ``` 5。后面有業務調整的時候,只需要調整AgentLogic 這一個地方就可以了。這樣一試,用對象把代碼封閉志來,可以減少業務邏輯調整,對項目的影響 ![](https://img.kancloud.cn/03/87/03879f37bd3fae622dac5bb88f352cdd_717x471.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看