Класс 'Kreait \ Firebase \ ServiceAccount' не найден - Laravel 5.4.36 - PullRequest
0 голосов
/ 29 февраля 2020

Я интегрирую свой проект 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"
},

Мой composer .lock файл имеет следующее:

"platform": 
{
        "php": ">=7.0"
},

Другие данные: Laravel 5.4.36 версия , PHP версия: 7.0

Я уже пытался удалить кэш, запустите composer update и composer install.

Спасибо.

1 Ответ

0 голосов
/ 01 марта 2020

Ваш composer. json показывает 4.35.0 вместо ^4.35 (это не является причиной проблемы, но вы пропускаете новые выпуски (мы на 4.40.1 во время этот комментарий:).

Вы не показали никакого фактического кода, но причина, вероятно, одна из следующих:

SDK на самом деле не установлен: проверьте вывод composer show чтобы увидеть, есть ли он на самом деле, и в какой версии.

Вы использовали Kreait\Firebase\ServiceAccount из другого пространства имен. Если вы используете полное пространство имен внутри вашего кода, вы должны поставить перед ним префикс с пространством имен root, таким образом \Kreait\Firebase\ServiceAccount (обратите внимание на начальную бэкслу sh). Еще лучше: импортируйте пространство имен с use Kreait\Firebase\ServiceAccount вверху файла, чтобы вы могли использовать ServiceAccount напрямую, без пространства имен.

It кажется, что вы хотите использовать SDK из приложения Laravel - в этом случае я рекомендую использовать https://github.com/kreait/laravel-firebase - при этом вам совсем не нужно заботиться о классах, и вы можете использовать `app ('firebase.') напрямую.

Я надеюсь, что один из этих sug помощь ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...