如何将Laravel认证系统的User类从默认命名空间迁移到自定义长尾命名空间?
- 内容介绍
- 文章标签
- 相关推荐
本文共计565个文字,预计阅读时间需要3分钟。
新创建了一个Laravel 5.3项目,希望利用Laravel自带的认证功能。但众所周知,默认情况下,Laravel将模型放置在`app`目录下,并且模型命名空间为`App`。然而,有时我们希望将`app`目录移至其他位置。
刚创建了一个新的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
命令之后,在正常情况下,已经可以实现正常的注册、登录等功能了。
本文共计565个文字,预计阅读时间需要3分钟。
新创建了一个Laravel 5.3项目,希望利用Laravel自带的认证功能。但众所周知,默认情况下,Laravel将模型放置在`app`目录下,并且模型命名空间为`App`。然而,有时我们希望将`app`目录移至其他位置。
刚创建了一个新的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
命令之后,在正常情况下,已经可以实现正常的注册、登录等功能了。

