Php 由于供应商文件夹而找不到Laravel类?

Php 由于供应商文件夹而找不到Laravel类?,php,laravel,laravel-4,Php,Laravel,Laravel 4,我目前正在API中实现一个基于令牌的身份验证系统。这是由Tappleby构建的,安装在my Laravel安装的供应商文件夹中。这是一个很好的过滤器。但是,我需要在控制器中使用包的一些功能。我添加了使用Tappleby\AuthToken\AuthToken添加到控制器中,并将必要的行添加到\u构造中。但这不起作用,因为我一直得到类AuthTokenDriver不存在 这是因为文件在供应商文件夹中吗?下面您可以看到控制器,但请不要看到tapleby\AuthToken\Exceptions\No

我目前正在API中实现一个基于令牌的身份验证系统。这是由Tappleby构建的,安装在my Laravel安装的供应商文件夹中。这是一个很好的过滤器。但是,我需要在控制器中使用包的一些功能。我添加了
使用Tappleby\AuthToken\AuthToken添加到控制器中,并将必要的行添加到
\u构造中
。但这不起作用,因为我一直得到
类AuthTokenDriver不存在

这是因为文件在供应商文件夹中吗?下面您可以看到控制器,但请不要看到
tapleby\AuthToken\Exceptions\NotAuthorizedException
位于供应商文件夹中

use Illuminate\Events\Dispatcher;

use Tappleby\AuthToken\Exceptions\NotAuthorizedException;

class ApiUsersController extends ApiController {

    /**
    * @var Acme\Transformers\UserTransformer
    */

    protected $UserTransformer; 

    /**
    * The event dispatcher instance.
    *
    * @var \Illuminate\Events\Dispatcher
    */
    protected $events;

    /**
    * @var \Tappleby\AuthToken\AuthTokenDriver
    */
    protected $driver;

    function __construct(UserTransformer $userTransformer, UserLessonsTransformer $userLessonssTransformer, AuthTokenDriver $driver, Dispatcher $events)
    {

        $this->UserTransformer = $userTransformer;

        $this->UserLessonTransformer = $userLessonTransformer;

        $this->driver = $driver;

        $this->events = $events;

    }

    public function index() 
    {

        $payload = Request::header('X-Auth-Token');

        if(empty($payload)) {

            return $this->respondNotFound('User does not exist.');

        }

        $user = $this->driver->validate($payload);

        return $payload;

    }
该文件夹用于为您维护软件包。因此,如果其他服务器或其他人想要检查您的项目,而不是移植Laravel使用的所有强大软件包和附加软件,他们可以通过Composer自行下载

但是,在这种情况下,您需要查看此软件包的文档,并确保您已经遵循了所有说明,如在自述文件中的
app/config/app.php
中包含:-

我不是100%清楚这个特定的软件包,但请记住在以下情况下卸载自动加载器:-

composer dump-autoload
最后,要允许控制器在此类中使用它,请尝试使用列出的其他依赖项:-

use \Tappleby\AuthToken\AuthTokenDriver;

然后我发现:
Target[tapleby\AuthToken\AuthTokenProviderInterface]不可实例化。
您可能不应该直接调用AuthDriver。通过将此从文档添加到您的
app/config/app.php
:-
'AuthToken'=>'Tappleby\Support\Facades\AuthToken','AuthTokenNotAuthorizedException'=>'Tappleby\AuthToken\Exceptions\NotAuthorizedException'
来提供别名可能更简单、更简洁,但是已经从安装中设置了别名。不过,别名的概念对我来说还不清楚。我现在如何使用它们?从文档中可以静态调用AuthToken,如
AuthToken::create()
AuthToken::publicToken()。使用别名只是为了让它更干净,而带有“Facade”的ServiceProvider使静态调用非静态类成为可能。有很多东西要学,我推荐这是一个很好的资源。