修改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 相关文章推荐
ezSQL PHP数据库操作类库
May 16 PHP
解析如何去掉CodeIgniter URL中的index.php
Jun 25 PHP
浅析PHP原理之变量(Variables inside PHP)
Aug 09 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
Jun 12 PHP
laravel容器延迟加载以及auth扩展详解
Mar 02 PHP
PHP加密解密类实例分析
Apr 20 PHP
php反射类ReflectionClass用法分析
May 12 PHP
PHP二分查找算法示例【递归与非递归方法】
Sep 29 PHP
老生常谈PHP面向对象之注册表模式
May 26 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
Jul 13 PHP
php curl获取到json对象并转成数组array的方法
May 31 PHP
thinkphp框架类库扩展操作示例
Nov 26 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批量删除数据
2007/01/18 PHP
php生成扇形比例图实例
2013/11/06 PHP
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
PHP实现网站访问量计数器
2017/10/27 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
js实现简单的网页换肤效果
2017/01/18 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
浅谈vue中数据双向绑定的实现原理
2017/09/14 Javascript
ReactNative实现Toast的示例
2017/12/31 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
学习python处理python编码问题
2011/03/13 Python
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
Python原始字符串(raw strings)用法实例
2014/10/13 Python
深入解读Python解析XML的几种方式
2016/02/16 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
2016/08/28 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
2015届大学生就业推荐表自我评价
2014/09/27 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
管理失职检讨书范文
2015/05/05 职场文书
2016中秋节月饼促销广告语
2016/01/28 职场文书
高三数学复习备考教学反思
2016/02/18 职场文书
分析Java中Map的遍历性能问题
2021/06/26 Java/Android
Nginx缓存设置案例详解
2021/09/15 Servers
Python机器学习应用之基于线性判别模型的分类篇详解
2022/01/18 Python
Javascript webpack动态import
2022/04/19 Javascript