Class \App\PasswordVerifier 不存在

Class \App\PasswordVerifier does not exist

我正在使用 OAuth laravel repo,我的设置是正确的,但是在尝试导入 class 凭据时,我 运行 进入 'class not found' 错误。

我有一个功能:

'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 会导致错误日志中 class 的名称发生更改。

PasswordVerifier class 需要在 App 命名空间中:

<?php
namespace App;

use Illuminate\Support\Facades\Auth;

class PasswordVerifier
{
   public function verify($username, $password)
   {
       ...

将命名空间想象成文件夹(实际上,就自动加载器而言,它们是相同的)。

Autoloader 的工作方式是,当您调用 class 时,它将使用命名空间作为文件夹树,并使用 class 名称作为文件名。

一切都应该区分大小写 除了 基础 app 文件夹,因为自动加载器已被明确告知在 App 命名空间中查找任何内容app 文件夹。