Php 类别';Kreait\Firebase\ServiceAccount';未找到-Laravel 5.4.36

Php 类别';Kreait\Firebase\ServiceAccount';未找到-Laravel 5.4.36,php,laravel,firebase,Php,Laravel,Firebase,我正在将我的Laravel项目与Firebase集成,但在进行测试时,我得到了标题错误 我已使用以下命令安装Firebase: composer require kreait/firebase-php ^4.35 My composer.json文件包含以下内容: "name": "laravel/laravel", "description": "The Laravel Framework.", "keywords": ["framework", "laravel"], "license":

我正在将我的Laravel项目与Firebase集成,但在进行测试时,我得到了标题错误

我已使用以下命令安装Firebase:

composer require kreait/firebase-php ^4.35
My composer.json文件包含以下内容:

"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
    "php": ">=7.0",
    "google/recaptcha": "~1.1",
    "kreait/firebase-php": "4.35",
    "laravel/framework": "5.4.*",
    "laravel/tinker": "~1.0",
    "laravelcollective/html": "^5.4.0",
    "pear/mail": "^1.4"
},
"require-dev": {
    "fzaninotto/faker": "~1.4",
    "mockery/mockery": "0.9.*",
    "phpunit/phpunit": "~5.7"
},
"platform": 
{
        "php": ">=7.0"
},
My composer.lock文件包含以下内容:

"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
    "php": ">=7.0",
    "google/recaptcha": "~1.1",
    "kreait/firebase-php": "4.35",
    "laravel/framework": "5.4.*",
    "laravel/tinker": "~1.0",
    "laravelcollective/html": "^5.4.0",
    "pear/mail": "^1.4"
},
"require-dev": {
    "fzaninotto/faker": "~1.4",
    "mockery/mockery": "0.9.*",
    "phpunit/phpunit": "~5.7"
},
"platform": 
{
        "php": ">=7.0"
},
其他数据: Laravel 5.4.36版本, PHP版本:7.0

我已经尝试删除缓存,运行
composer更新
composer安装


谢谢。

您的composer.json显示的是
4.35.0
,而不是
^4.35
(这不是问题的原因,但您错过了新版本(在发表此评论时,我们使用的是4.40.1:)

您没有显示任何实际代码,但原因可能是:

"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
    "php": ">=7.0",
    "google/recaptcha": "~1.1",
    "kreait/firebase-php": "4.35",
    "laravel/framework": "5.4.*",
    "laravel/tinker": "~1.0",
    "laravelcollective/html": "^5.4.0",
    "pear/mail": "^1.4"
},
"require-dev": {
    "fzaninotto/faker": "~1.4",
    "mockery/mockery": "0.9.*",
    "phpunit/phpunit": "~5.7"
},
"platform": 
{
        "php": ">=7.0"
},
SDK没有真正安装:检查
composer show
的输出,看看它是否真的在那里,以及在哪个版本中

您从另一个名称空间中使用了
Kreait\Firebase\servicecomport
。如果您在代码中使用完整的名称空间,则必须使用根名称空间作为前缀,因此
\Kreait\Firebase\servicecomport
(注意前面的反斜杠)。更好的方法是:导入文件顶部带有
use Kreait\Firebase\ServiceAccount
的名称空间,这样您就可以直接使用
ServiceAccount
,而无需名称空间

似乎您希望从Laravel应用程序内部使用SDK—在本例中,我建议使用—这样,您就不必关心类,可以直接使用'app('firebase')


我希望这些建议中的一个能对您有所帮助。您是否尝试过
composer dump autoload