我正在将Laravel项目与Firebase集成在一起,但是在进行测试时出现标题错误。
我已经使用以下命令安装了Firebase:
composer require kreait/firebase-php ^4.35
我的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"
},
我的composer.lock文件具有以下内容:
"platform":
{
"php": ">=7.0"
},
其他数据: Laravel 5.4.36版本, PHP版本:7.0
我已经尝试删除缓存,运行composer update
和composer install
。
谢谢。
答案 0 :(得分:0)
您的composer.json显示的是4.35.0
而不是^4.35
(这不是问题的根源,但是您错过了新版本(我们在发布时为4.40.1)此评论:)。
您没有显示任何实际代码,但是原因可能是以下之一:
该SDK尚未真正安装:检查composer show
的输出以查看它是否真正存在以及在哪个版本中。
您从另一个命名空间中使用了Kreait\Firebase\ServiceAccount
。如果在代码中使用完整的命名空间,则必须在其前面加上根命名空间,即\Kreait\Firebase\ServiceAccount
(请注意前面的反斜杠)。更好的做法是:使用文件顶部的use Kreait\Firebase\ServiceAccount
导入名称空间,以便您可以直接使用ServiceAccount
,而无需名称空间。
似乎您想从Laravel应用程序内部使用SDK-在这种情况下,我建议使用https://github.com/kreait/laravel-firebase-这样,您根本不必关心类,可以使用`app (“ firebase”。)
我希望这些建议之一对我有帮助