sondnpt00343 / laravel-firebase
一个用于 Firebase PHP Admin SDK 的 Laravel 扩展包
Requires
- php: ^7.2|~8.0.0
- illuminate/contracts: ^6.0|^7.0|^8.0
- illuminate/support: ^6.0|^7.0|^8.0
- kreait/firebase-php: ^5.14.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- orchestra/testbench: ^4.0|^5.0|^6.0
- roave/better-reflection: ^3.6|^4.6
README
这是一个用于Firebase PHP Admin SDK的 Laravel 扩展包。
安装
此扩展包需要 Laravel 6.x 及以上或 Lumen 6.x 及以上。
composer require kreait/laravel-firebase
如果您使用 Lumen 或不使用 Laravel 的包自动发现,请在 config/app.php (Laravel) 或 bootstrap/app.php (Lumen) 中添加以下服务提供者
Laravel
<?php // config/app.php return [ // ... 'providers' => [ // ... Kreait\Laravel\Firebase\ServiceProvider::class ] // ... ];
Lumen
<?php // bootstrap/app.php $app->register(Kreait\Laravel\Firebase\ServiceProvider::class); // If you want to use the Facades provided by the package $app->withFacades();
升级
有关升级说明,请参阅 UPGRADE.md
配置
为了通过服务器 SDK 访问 Firebase 项目及其相关服务,必须对请求进行身份验证。对于服务器之间的通信,这通过服务帐户来完成。
该扩展包通过自动发现默认项目,通过检查某些环境变量并查找 Google 的已知路径来查找对 Firebase API 进行身份验证所需的凭据。
如果您还没有生成服务帐户,可以按照官方文档页面上的说明进行操作,请访问 https://firebase.google.com/docs/admin/setup#initialize_the_sdk。
下载服务帐户 JSON 文件后,您可以通过在 .env 文件中指定以 FIREBASE_ 开头的环境变量来配置扩展包。通常,以下内容对于扩展包运行是必需的
# relative or full path to the Service Account JSON file
FIREBASE_CREDENTIALS=
# You can find the database URL for your project at
# https://console.firebase.google.com/project/_/database
FIREBASE_DATABASE_URL=https://<your-project>.firebaseio.com
有关进一步配置,请参阅 config/firebase.php。您可以通过将其复制到本地 config 目录或定义配置文件中使用的环境变量来修改配置
# Laravel php artisan vendor:publish --provider="Kreait\Laravel\Firebase\ServiceProvider" --tag=config # Lumen mkdir -p config cp vendor/kreait/laravel-firebase/config/firebase.php config/firebase.php
使用
一旦获取了组件,请参阅Firebase PHP Admin SDK 的文档以获取有关如何使用的更多信息。
您不需要也不应该使用 SDK 文档中描述的 new Factory() 模式,这已经通过 Laravel 服务提供者为您完成。请使用依赖注入、Facades 或 app() 辅助函数代替
多个项目
可以在 config/firebase.php 中通过向项目数组中添加另一个部分来配置多个项目。
在访问组件时,门面使用默认项目。您也可以明确地使用一个项目
use Kreait\Laravel\Firebase\Facades\Firebase; // Return an instance of the Auth component for the default Firebase project $defaultAuth = Firebase::auth(); // Return an instance of the Auth component for a specific Firebase project $appAuth = Firebase::project('app')->auth(); $anotherAppAuth = Firebase::project('another-app')->auth();
支持
许可
Firebase Admin PHP SDK 采用 MIT 许可 许可。
您对 Firebase 的使用受 Firebase 服务条款 的约束。