Autoloader似乎没有更新(Laravel)

时间:2017-05-27 07:44:01

标签: php laravel autoload

我是PHP Laravel的新手。我已使用作曲家composer require djchen/oauth2-fitbit添加了一个包。似乎我的composer.json没有更新自动加载器,因为我不断收到以下错误:

Fatal error: Class 'djchen\OAuth2\Client\Provider\Fitbit' not found in xxx on line 5

这就是第5行的样子:

use djchen\OAuth2\Client\Provider\Fitbit;
$provider = new Fitbit([ // line 5

这是我的composer.json(必要的位)

{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "vcs",
"require": {
    "php": ">=5.6.4",
    "djchen/oauth2-fitbit": "^1.0",
    "laravel/framework": "5.4.*",
    "laravel/tinker": "~1.0"
},
"require-dev": {
    "fzaninotto/faker": "~1.4",
    "mockery/mockery": "0.9.*",
    "phpunit/phpunit": "~5.7"
},
"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/",
        "djchen\\OAuth2\\Client\\": "src/" // added manually - still does not work
    }
},
"autoload-dev": {
    "psr-4": {
        "Tests\\": "tests/",
    }
},

我完成了我的研究,并且我尝试过作曲家安装,作曲家更新和作曲家转储自动加载。这些都没有奏效。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

我们在这里使用核解决方案,你的自动加载文件可能会被缓存到某个地方。

运行以下命令:

$ php artisan clear-compiled
$ php artisan cache:clear
$ php artisan config:clear
$ php artisan optimize

如果这不起作用,请尝试手动删除您可以找到的所有自动加载文件并运行composer update

答案 1 :(得分:0)

回答我自己的问题..

我可能应该真正强调我是Laravel的新手。我设法通过简单地包括自动加载器来解决这个问题:

include('vendor/autoload.php');

之后还调用了composer dump-autoload。