Write the Code. Change the World.

12月 01

Laravel的auth功能非常好用。只需要按照模板写,几乎不写代码就可以完成注册,登录,忘记密码这一整套流程。但是,仅仅照搬,还是有些不足的。下边列出个人注意的一些知识点,以备以后会用到。

注册

前端表单页面 -> 路由 -> 控制器(RegisterController) + RegistersUsers。

调用的是控制器的 register 方法,但该方法来自 RegistersUsers 。查看 RegistersUsers,发现其修饰符为 trait

  1. 如果想对 register 进行重写。 可以在 RegistersUsers 建立同样的 register 方法,代码也照搬过来, 然后加入自己所需的代码(比如特殊验证)。

  2. 结合 bootstrap 框架,怎么使用其表单验证功能呢。请看 RegisterController 的 validator 方法。

在 make方法中,第一个参数是表单提交的data数组,第二个参数是验证规则(是否必填,数据类型,长度,是否可以重复,还可以使用正则),第三个参数是验证不通过时,提示给前端的提示语,可以对同一字段的不同规则进行各种提示。这个验证规则,生成auth的时候,就有样例了。

  1. 默认样例,注册添加到数据库的仅仅只有 ’email, password’ 两个字段。可是,有时候注册,这两个字段完全不够,需要增加字段。这个又在哪处理呢。请看 modle 中的 User,默认在app下。当然,你可以移到自建的Models下。对应的引用位置都需要改变。

登录

前端表单页面 -> 路由 -> 控制器(LoginController) + AuthenticatesUsers。

在这里需要注意一下登录时所对应的账号字段,默认是email,这个是在 AuthenticatesUsers 的 username方法中定义的。这个时候可以在 LoginController 中重新定义该方法。比如:

    public function username()
    {
        return 'account';
    }

AuthenticatesUsers命名空间是 Illuminate\Foundation\Auth

就记下以上几点。核心逻辑需要去使用和钻研中继续。

发表评论

电子邮件地址不会被公开。 必填项已用*标注