使用laravel ui,更换email字段的操作:laravel门面及服务模式的好处

    |     2021年4月22日   |   学习偶记   |     评论已关闭   |    406

在前两篇文章中,我们看到了laravel一个重设密码操作,就关联了好多个类的骚操作,并且这些类还被冠以服务提供者,门面,契约,服务容器,仓库等等概念。

你是不是觉得laravel的这些东西,属于脱裤子放屁,多此一举呢?下面我就通过实例来告诉你这种设计模式的好处。

通过laravel重设密码的代码快速学习laravel的重要概念-02

安装了laravel ui,据说过时了,但是卸载的时候出现了问题,不得不用,不过对于熟悉bootstrap的人,还是挺不错的。

我的应用场景:

我的用户表front_customer是这样设计的,user_name呢,可以是手机号,也可以是email。加了一个user_type来判断。这和laravel ui以及laravel本身的验证是不吻合的。

laravel本身默认的表是user,字段是user_name password email 。然后重置密码就是输入邮箱,发送邮件,然后点击链接,进行密码修改。(当然还有其他的场景也需要改动这个email,比如注册时候,会发一个验证邮件。点击后才能激活。)

通过代码可以得知,提供查询的是EloquentUserProvider服务。我们只要替换它,就可以定制我们的字段名【password字段也可以改的】

首先我们修改auth的配置文件,把数据模型修改成自己提供。

开始写自己的模型类服务

重写一些字段的键,替换成你自己的字段。

查询用户这里也做一个处理。

服务做好了,直接在注册我们的服务提供者到服务容器里。

 

噢!评论已关闭。