修改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自定义函数收代码
Aug 01 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
php获取本地图片文件并生成xml文件输出具体思路
Apr 27 PHP
解析如何去掉CodeIgniter URL中的index.php
Jun 25 PHP
网页上facebook分享功能具体实现
Jan 26 PHP
PHP中ini_set和ini_get函数的用法小结
Feb 18 PHP
PHP zip扩展Linux下安装过程分享
May 05 PHP
Laravel 5框架学习之路由、控制器和视图简介
Apr 07 PHP
PHP对象克隆clone用法示例
Sep 28 PHP
PHP第三方登录―QQ登录实现方法
Feb 06 PHP
PHP内置函数生成随机数实例
Jan 18 PHP
php快速导入大量数据的实例方法
Sep 23 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
php基础知识:类与对象(3) 构造函数和析构函数
2006/12/13 PHP
使用PHP批量生成随机用户名
2008/07/10 PHP
解析php中array_merge与array+array的区别
2013/06/21 PHP
php获取远程文件大小
2015/10/20 PHP
Joomla开启SEF的方法
2016/05/04 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
2007/05/14 Javascript
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
JavaScript获取网页中第一个链接ID的方法
2015/04/03 Javascript
轻松掌握JavaScript代理模式
2016/08/26 Javascript
vue 多入口文件搭建 vue多页面搭建的实例讲解
2018/03/12 Javascript
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
vue init webpack 建vue项目报错的解决方法
2018/09/29 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
微信小程序模板消息推送的两种实现方式
2019/08/27 Javascript
ant design实现圈选功能
2019/12/17 Javascript
[40:48]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第二局
2016/02/28 DOTA
Python中的__SLOTS__属性使用示例
2015/02/18 Python
由Python运算π的值深入Python中科学计算的实现
2015/04/17 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
2019/01/04 Python
详解python中的线程与线程池
2019/05/10 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
Python3开发环境搭建详细教程
2020/06/18 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
JSP&Servlet技术面试题
2015/05/21 面试题
员工入职担保书范文
2014/04/01 职场文书
开门红主持词
2014/04/02 职场文书
植树节标语
2014/06/27 职场文书
2014年销售内勤工作总结
2014/12/01 职场文书
典型事迹材料范文
2014/12/29 职场文书
退休职工欢送会致辞
2015/08/01 职场文书
小学记事作文之200字
2019/08/06 职场文书
vue 实现上传组件
2021/05/31 Vue.js