修改Laravel自带的认证系统的User类的命名空间的步骤


Posted in PHP onOctober 15, 2019

刚创建了一个新的Laravel 5.3项目,想要使用Laravel自带的认证功能。

但是我们都知道,Laravel默认情况下的Model都是放在app目录下的,也就是说其命名空间是App.但是有时候我们希望app目录能够更加整洁一点,所以想要把各个Model都统一放在Model目录下。

由于Laravel的app目录遵循了psr-4标准,也就是说会是用composer按照psr-4标准对各个类进行自动加载。如果我们直接修改目录,而不修改对应的命名空间的话,是无法正常加载这些Model类的。

所以,将User.php文件移动到了新的Model文件夹下的时候,需要同时将User类的namespace修改为App\Model。然后,需要执行

composer dumpautoload

命令,将修改后的类自动加载进来。

接着继续进行认证系统的创建。

在执行了

php artisan make:auth

命令之后,在正常情况下,已经可以实现正常的注册、登录等功能了。

但是在修改完User的命名空间后,会发现出现了找不到User类的错误。我们刚才已经重新加载了User类,为什么还会出现找不到的问题?

仔细想想我们就会发现,由于登录、注册用到的代码都是Laravel框架自带的,默认情况下,它们会认为User类还在App命名空间下,所以登录的时候,会出现错误。

如何解决呢?

在config/auth.php文件里,可以找到providers,在其中driver是eloquent的那一组中,可以看到model选项,默认为App\User::class,将其修改为App\Model\User::class即可。

这样应该就可以正常登录了。

所以总结一下,如果想要修改User的命名空间的话,需要以下几步:

新建Model文件夹,移动User.php到该文件夹下

修改User.php的namespace为App\Model

执行composer dumpautoload,重新加载类

将config/auth.php文件中的providers部分的model对应的类,修改为App\Model\User::class

以上这篇修改Laravel自带的认证系统的User类的命名空间的步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
基于PHP开发中的安全防范知识详解
Jun 06 PHP
学习php分页代码实例
Oct 24 PHP
php隐藏IP地址后两位显示为星号的方法
Nov 21 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 PHP
PHP中preg_match函数正则匹配的字符串长度问题
May 27 PHP
PHP封装的HttpClient类用法实例
Jun 17 PHP
php实现短信发送代码
Jul 05 PHP
PHP实现简单汉字验证码
Jul 28 PHP
php数字每三位加逗号的功能函数
Oct 22 PHP
Yii CDBCriteria常用方法实例小结
Jan 19 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
Aug 15 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
Apr 06 PHP
解决Laravel自定义类引入和命名空间的问题
Oct 15 #PHP
laravel 如何实现引入自己的函数或类库
Oct 15 #PHP
Laravel 类和接口注入相关的代码
Oct 15 #PHP
在PHP中实现使用Guzzle执行POST和GET请求
Oct 15 #PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
Oct 15 #PHP
解决在laravel中auth建立时候遇到的问题
Oct 15 #PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
Oct 15 #PHP
You might like
第八节--访问方式
2006/11/16 PHP
PHP UTF8编码内的繁简转换类
2009/07/20 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
如何离线执行php任务
2017/02/21 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
2018/02/07 PHP
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
Javascript浅谈之引用类型
2013/12/18 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
利用Vue v-model实现一个自定义的表单组件
2017/04/27 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
JavaScript定时器设置、使用与倒计时案例详解
2019/07/08 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
python清除字符串里非数字字符的方法
2015/07/02 Python
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
python else语句在循环中的运用详解
2020/07/06 Python
HTML5验证以及日期显示的实现详解
2013/07/05 HTML / CSS
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
意大利时尚精品店:Nugnes 1920
2020/02/10 全球购物
代码中finally中的代码会不会执行
2012/02/06 面试题
医学毕业生自荐信
2013/10/11 职场文书
施工材料员岗位职责
2014/02/12 职场文书
交通事故协议书范文
2014/04/16 职场文书
查摆剖析材料范文
2014/09/30 职场文书
经典励志格言:每日一句,让你每天充满能量
2019/08/16 职场文书
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏