修改Laravel自帶的認(rèn)證系統(tǒng)的User類(lèi)的命名空間的步驟
剛創(chuàng)建了一個(gè)新的Laravel 5.3項(xiàng)目,想要使用Laravel自帶的認(rèn)證功能。
但是我們都知道,Laravel默認(rèn)情況下的Model都是放在app目錄下的,也就是說(shuō)其命名空間是App.但是有時(shí)候我們希望app目錄能夠更加整潔一點(diǎn),所以想要把各個(gè)Model都統(tǒng)一放在Model目錄下。
由于Laravel的app目錄遵循了psr-4標(biāo)準(zhǔn),也就是說(shuō)會(huì)是用composer按照psr-4標(biāo)準(zhǔn)對(duì)各個(gè)類(lèi)進(jìn)行自動(dòng)加載。如果我們直接修改目錄,而不修改對(duì)應(yīng)的命名空間的話(huà),是無(wú)法正常加載這些Model類(lèi)的。
所以,將User.php文件移動(dòng)到了新的Model文件夾下的時(shí)候,需要同時(shí)將User類(lèi)的namespace修改為App\Model。然后,需要執(zhí)行
composer dumpautoload
命令,將修改后的類(lèi)自動(dòng)加載進(jìn)來(lái)。
接著繼續(xù)進(jìn)行認(rèn)證系統(tǒng)的創(chuàng)建。
在執(zhí)行了
php artisan make:auth
命令之后,在正常情況下,已經(jīng)可以實(shí)現(xiàn)正常的注冊(cè)、登錄等功能了。
但是在修改完User的命名空間后,會(huì)發(fā)現(xiàn)出現(xiàn)了找不到User類(lèi)的錯(cuò)誤。我們剛才已經(jīng)重新加載了User類(lèi),為什么還會(huì)出現(xiàn)找不到的問(wèn)題?
仔細(xì)想想我們就會(huì)發(fā)現(xiàn),由于登錄、注冊(cè)用到的代碼都是Laravel框架自帶的,默認(rèn)情況下,它們會(huì)認(rèn)為User類(lèi)還在App命名空間下,所以登錄的時(shí)候,會(huì)出現(xiàn)錯(cuò)誤。
如何解決呢?
在config/auth.php文件里,可以找到providers,在其中driver是eloquent的那一組中,可以看到model選項(xiàng),默認(rèn)為App\User::class,將其修改為App\Model\User::class即可。
這樣應(yīng)該就可以正常登錄了。
所以總結(jié)一下,如果想要修改User的命名空間的話(huà),需要以下幾步:
新建Model文件夾,移動(dòng)User.php到該文件夾下
修改User.php的namespace為App\Model
執(zhí)行composer dumpautoload,重新加載類(lèi)
將config/auth.php文件中的providers部分的model對(duì)應(yīng)的類(lèi),修改為App\Model\User::class
以上這篇修改Laravel自帶的認(rèn)證系統(tǒng)的User類(lèi)的命名空間的步驟就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Laravel5.1框架路由分組用法實(shí)例分析
- laravel框架分組控制器和分組路由實(shí)現(xiàn)方法示例
- laravel中命名路由的使用方法
- Laravel 5框架學(xué)習(xí)之路由、控制器和視圖簡(jiǎn)介
- Laravel中間件實(shí)現(xiàn)原理詳解
- Laravel框架實(shí)現(xiàn)利用中間件進(jìn)行操作日志記錄功能
- Laravel獲取當(dāng)前請(qǐng)求的控制器和方法以及中間件的例子
- Laravel 6 將新增為指定隊(duì)列任務(wù)設(shè)置中間件的功能
- 淺談Laravel中的三種中間件的作用
- Laravel 4 初級(jí)教程之視圖、命名空間、路由
- 解決Laravel自定義類(lèi)引入和命名空間的問(wèn)題
- laravel框架路由分組,中間件,命名空間,子域名,路由前綴實(shí)例分析
相關(guān)文章
thinkphp3.2中Lite文件替換框架入口文件或應(yīng)用入口文件的方法
這篇文章主要介紹了thinkphp3.2中Lite文件替換框架入口文件或應(yīng)用入口文件的方法,涉及ThinkPHP相關(guān)配置技巧,需要的朋友可以參考下2015-05-05
PHP使用CURL_MULTI實(shí)現(xiàn)多線程采集的例子
這篇文章主要介紹了PHP使用CURL_MULTI實(shí)現(xiàn)多線程采集的例子,CURL_MULTI可以對(duì)HTTP進(jìn)行并發(fā)訪問(wèn),需要的朋友可以參考下2014-07-07
PHP加Nginx實(shí)現(xiàn)動(dòng)態(tài)裁剪圖片方案
這篇文章主要介紹了PHP加Nginx實(shí)現(xiàn)動(dòng)態(tài)裁剪圖片的方案,使用Imagick組件實(shí)現(xiàn),需要的朋友可以參考下2014-03-03
WordPress中用于更新偽靜態(tài)規(guī)則的PHP代碼實(shí)例講解
這篇文章主要介紹了WordPress中用于更新偽靜態(tài)規(guī)則的PHP代碼實(shí)例講解,圍繞flush_rewrite_rules()函數(shù)的使用展開(kāi)來(lái)講,需要的朋友可以參考下2015-12-12
Laravel模型間關(guān)系設(shè)置分表的方法示例
這篇文章主要給大家介紹了關(guān)于Laravel模型間關(guān)系設(shè)置分表的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04

