<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 前言 所有實例中 writeJson 方法 已經修改 ### writeJson ``` //base Controller protected function writeJson($statusCode = 200, $msg = '', $result = []){ parent::writeJson($statusCode,[],$msg); } ``` ## onRequest 方法前置操作 ``` function onRequest(?string $action): ?bool { if (parent::onRequest($action)) { //判斷是否登錄 if (1/*偽代碼*/) { $this->writeJson(Status::CODE_UNAUTHORIZED, '', '登入已過期'); return false; } return true; } return false; } ``` ## afterAction 方法后置操作 ## index ## actionNotFound ## onException 方法報錯,統一走此方法 ``` public function index(){ throw new \Exception("error!!!"); $this->writeJson(200,"asd3"); } function onException(\Throwable $throwable): void { //直接給前端響應500并輸出系統繁忙 $this->writeJson(500,'系統繁忙,請稍后再試 '); } ``` ## Validate 驗證 ### 驗證類型 > [參考](https://www.easyswoole.com/Cn/Components/validate.html) ### 不封裝 ``` $validate = new Validate(); //驗證必須且長度不大于 5 $validate->addColumn('name','姓名')->required()->lengthMax(5); if (!$this->validate($validate)){ return $this->writeJson(400,$validate->getError()->__toString()); } $this->writeJson(200,"success"); ``` ### 封裝 > [參考](https://www.easyswoole.com/Cn/Components/validate.html) ``` //curl http://127.0.0.1:9501/sms?phone=123 public function sms(){ $phone = $this->request()->getRequestParam('phone'); $this->writeJson(200,"phone {$phone}"); } public function onRequest(?string $action): ?bool{ $ret = parent::onRequest($action); if($ret === false){ return false; } $v = $this->validateRule($action); if($v){ $ret = $this->validate($v); if($ret == false){ $this->writeJson(400,"{$v->getError()->getField()}@{$v->getError()->getFieldAlias()}:{$v->getError()->getErrorRuleMsg()}"); return false; } } return true; } protected function validateRule(?string $action): ?Validate { $v = new Validate(); switch ($action){ case 'sms':{ $v->addColumn('phone','手機號')->required('不能為空')->length(11,'長度錯誤'); break; } } return $v; } ```
                  <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>

                              哎呀哎呀视频在线观看