Class \ App \ PasswordVerifier不存在

时间:2015-11-09 14:53:23

标签: php laravel lumen

我正在使用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会导致错误日志中的类名称发生更改。

1 个答案:

答案 0 :(得分:1)

PasswordVerifier类需要位于App命名空间中:

<?php
namespace App;

use Illuminate\Support\Facades\Auth;

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

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

Autoloader的工作方式是,当你调用一个类时,它将使用命名空间作为文件夹树,并使用类名作为文件名。

对于基本app文件夹,所有内容都应区分大小写 ,因为已明确告知自动加载器在App命名空间中找到app命名空间中的任何内容}文件夹。