溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

yii2框架實現(xiàn)注冊的方法

發(fā)布時間:2021-01-14 11:20:32 來源:億速云 閱讀:160 作者:小新 欄目:編程語言

小編給大家分享一下yii2框架實現(xiàn)注冊的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

yii2框架實現(xiàn)注冊:

在advanced模板中,進入frontend/index.php?r=site%2Fsignup頁面,可以看到框架的注冊頁面

填寫完Username、Email和Password后點擊Signup后,如果格式不對,frontend/models/SignuForm中的rules()函數(shù)會進行初步驗證,所有格式正確后,數(shù)據(jù)傳輸?shù)?frontend/controllers /SiteController中的 actionSignup()函數(shù)中,函數(shù)加載用戶輸入的注冊信息,在frontend/models/SignupForm中的signup()函數(shù)。

以下引用的文字為解釋函數(shù)中的具體細節(jié),不閱讀不影響整體,因為沒有折疊文字功能,故采用引用的方法,下同

if (!$this->validate()) {
  return null;
}

signup() 函數(shù)首先調(diào)用 yii2/base/Model中的validate() 函數(shù)進行驗證

第一步,清除使用frontend/models/SignuForm中的rules()函數(shù)在用戶輸入時的錯誤信息

if ($clearErrors) {
  $this->clearErrors();
}

第二步,beforeValidate()函數(shù)觸發(fā)beforeValidate事件并返回true

第三步,設(shè)置scenario,默認是default

第四步,因為這里的$attributeNames為null,

$attributeNames = $this->activeAttributes();

執(zhí)行后返回

array(3) { [0]=> string(8) "username" [1]=> string(5) "email" [2]=> string(8) >"password" }

第五步,$this->getActiveValidators()會得到frontend/models/SignuForm中的rules()中11條驗證規(guī)則給validateAttributes()進行驗證

第六步,執(zhí)行afterValidate()函數(shù)觸發(fā)afterValidate事件

最后 如果所有驗證都通過,$this->hasErrors()為false,所以函數(shù)最后返回true

以上是“yii2框架實現(xiàn)注冊的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI