您好,登錄后才能下訂單哦!
小編給大家分享一下yii2框架實現注冊的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
yii2框架實現注冊:
在advanced模板中,進入frontend/index.php?r=site%2Fsignup頁面,可以看到框架的注冊頁面
填寫完Username、Email和Password后點擊Signup后,如果格式不對,frontend/models/SignuForm中的rules()函數會進行初步驗證,所有格式正確后,數據傳輸到 frontend/controllers /SiteController中的 actionSignup()函數中,函數加載用戶輸入的注冊信息,在frontend/models/SignupForm中的signup()函數。
以下引用的文字為解釋函數中的具體細節,不閱讀不影響整體,因為沒有折疊文字功能,故采用引用的方法,下同
if (!$this->validate()) { return null; }
signup() 函數首先調用 yii2/base/Model中的validate() 函數進行驗證
第一步,清除使用frontend/models/SignuForm中的rules()函數在用戶輸入時的錯誤信息
if ($clearErrors) { $this->clearErrors(); }
第二步,beforeValidate()函數觸發beforeValidate事件并返回true
第三步,設置scenario,默認是default
第四步,因為這里的$attributeNames為null,
$attributeNames = $this->activeAttributes();
執行后返回
array(3) { [0]=> string(8) "username" [1]=> string(5) "email" [2]=> string(8) >"password" }
第五步,$this->getActiveValidators()會得到frontend/models/SignuForm中的rules()中11條驗證規則給validateAttributes()進行驗證
第六步,執行afterValidate()函數觸發afterValidate事件
最后 如果所有驗證都通過,$this->hasErrors()為false,所以函數最后返回true
以上是“yii2框架實現注冊的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。