您的位置 首页 技术

yii2框架怎么实现注册

yii2框架实现注册: 在advanced模板中,进入frontend/index.php?r=site%2Fsignup页面,可以看到框架的注册页面 填写完Username、Em…

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

推荐学习:Yii入门教程

以上就是yii2框架怎么实现注册的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/27090.html

为您推荐

返回顶部