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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                請求組件 ~~~ $request = \Yii::$app->request; ~~~ get獲取參數,第二個是默認值 ~~~ $res = $request->get('id', 111); ~~~ post獲取(關閉csrf) ~~~ $res = $request->post('id', '123'); ~~~ 判斷請求類型 ~~~ $request->isGet $request->isPost $request->isAjax ~~~ 獲取用戶ip ~~~ $request->userIP ~~~ **基礎示例** ~~~php class LoginForm extends \yii\base\Model{ public $username = ''; public $password = ''; public function login(){ $user = \app\model\User::findOne(['username' => $this->username]); if(!$user){ $this->addError('username', '無效的用戶名或密碼'); return false; } if($user->password != md5($password)){ $this->addError('username', '無效的用戶名或密碼'); return false; } return Yii::$app->user->login($user); } } ~~~ 這是一個打算用在登錄功能上的表單模型,其中login方法就是登錄的邏輯處理,為了簡單演示我省略了用戶名和密碼長度、類型的校驗之類的詳細處理 然后表單模型通常都讓控制器來調用的,控制器的代碼可以這樣寫: ~~~php public function actionLogin(){ $form = new LoginForm(); $form->username = Yii::$app->request->post('username'); $form->username = Yii::$app->request->post('password'); if($form->login()){ $errorMessage = current($form->firstErrors)[0]; //成功的結果響應 }else{ //失敗的結果響應 } } ~~~ **4個基本要點** 使用表單模型要注意下面4個要點: 1. 要繼承[yii\\base\\Model](http://www.yiichina.com/doc/api/2.0/yii-base-model) * * * 2. 一般都提供public方法作為業務邏輯處理的方法(像上面的login方法) 一個方法處理一個業務請求,可以有多個業務,也就是多個public方法 * * * 3. 業務處理過程中,需要的客戶端輸入參數默認不直接從$\_GET、$\_POST數據獲取,而是訪問自身的屬性(像上面的$username和$password兩個屬性) 而客戶端輸入的參數由控制器從GET、POST里獲取,讓控制器來傳遞給表單模型 這樣就實現了:表單模型不依賴GET、POST數據,降低了依賴,只要能傳來特定參數就能執行業務 也就實現了這個邏輯層可以用在更多場合(比如控制臺、第三方接口、后臺管理前臺用戶、模擬登錄等) * * * 4. 業務處理過程中,如果對輸入數據校驗失敗,報錯的辦法應該用`$this->addError('自定義錯誤標識', '錯誤消息');`并返回false給控制器 當然也能返回0呀null呀什么的,只要跟控制器協商好什么表示失敗就行了 重要的是,控制器如果要獲取失敗的消息提示,可以通過`$form->firstError[0]`這個代碼獲取,在入門級的文章里不解釋這個東西,知道怎么用就是
                  <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>

                              哎呀哎呀视频在线观看