我正在使用OAuth laravel repo,我正确设置了它,但在尝试导入一个类的凭据时,我遇到了未找到的类'错误。
我有一个功能:
'grant_types' => [
'password' => [
'callback' => '\App\PasswordVerifier@verify',
]
]
我的目录如下所示:
app
--PasswordVerifier.php
config
--oauth.php (above chunk)
然而,我收到错误:
ReflectionException in Container.php line 737: Class \App\PasswordVerifier does not exist
PasswordVerifier.php如下所示:
// namespace App\PasswordVerifier; - I tried with/without adding this line
use Illuminate\Support\Facades\Auth;
class PasswordVerifier
{
public function verify($username, $password)
{
...
请注意,更改'callback' => '\App\PasswordVerifier@verify
会导致错误日志中的类名称发生更改。
答案 0 :(得分:1)
PasswordVerifier
类需要位于App
命名空间中:
<?php
namespace App;
use Illuminate\Support\Facades\Auth;
class PasswordVerifier
{
public function verify($username, $password)
{
...
想想像文件夹这样的命名空间(实际上,就自动加载器而言,它们是相同的)。
Autoloader的工作方式是,当你调用一个类时,它将使用命名空间作为文件夹树,并使用类名作为文件名。
对于基本app
文件夹,所有内容都应区分大小写 ,因为已明确告知自动加载器在App
命名空间中找到app
命名空间中的任何内容}文件夹。