Laravel 不识别特征
Laravel does not recognize trait
我正在更改 AuthenticatesUsers.php 以在 postLogin 方法中使用 google recaptcha。
有特质
<?php
namespace App\Traits;
use Illuminate\Support\Facades\Input;
use ReCaptcha\ReCaptcha;
trait CaptchaTrait {
public function captchaCheck()
{
...
}
}
我的 AuthenticatesUsers.php
以
开头
<?php
namespace Illuminate\Foundation\Auth;
use App\Traits\CaptchaTrait;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Lang;
trait AuthenticatesUsers
{
use RedirectsUsers;
use CaptchaTrait;
...
}
在登录页面,我得到这个错误
FatalErrorException in AuthenticatesUsers.php line 13: Trait
'App\Traits\CaptchaTrait' not found
不明白为什么。在 PhpStorm 中导入 class CaptchaTrait 时它会自动导入 App\Traits\CaptchaTrait 到 AuthenticatesUsers.php
我错过了什么?
查看您的 composer.json 文件,了解有关 App 命名空间的更多信息。这是 app/ 目录 (PSR-4) 的 link。
所以命名空间 App\Traits 相当于目录 app/Traits,而不是 app/App/Traits。命名空间和目录必须与您的 composer 自动加载器中定义的相匹配,否则,它将不知道如何加载 class/trait/interface.
我正在更改 AuthenticatesUsers.php 以在 postLogin 方法中使用 google recaptcha。
有特质
<?php
namespace App\Traits;
use Illuminate\Support\Facades\Input;
use ReCaptcha\ReCaptcha;
trait CaptchaTrait {
public function captchaCheck()
{
...
}
}
我的 AuthenticatesUsers.php
以
<?php
namespace Illuminate\Foundation\Auth;
use App\Traits\CaptchaTrait;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Lang;
trait AuthenticatesUsers
{
use RedirectsUsers;
use CaptchaTrait;
...
}
在登录页面,我得到这个错误
FatalErrorException in AuthenticatesUsers.php line 13: Trait
'App\Traits\CaptchaTrait' not found
不明白为什么。在 PhpStorm 中导入 class CaptchaTrait 时它会自动导入 App\Traits\CaptchaTrait 到 AuthenticatesUsers.php
我错过了什么?
查看您的 composer.json 文件,了解有关 App 命名空间的更多信息。这是 app/ 目录 (PSR-4) 的 link。
所以命名空间 App\Traits 相当于目录 app/Traits,而不是 app/App/Traits。命名空间和目录必须与您的 composer 自动加载器中定义的相匹配,否则,它将不知道如何加载 class/trait/interface.