sondnpt00343/laravel-firebase

一个用于 Firebase PHP Admin SDK 的 Laravel 扩展包

3.1.0 2021-02-02 23:32 UTC

This package is not auto-updated.

Last update: 2024-10-02 07:46:40 UTC


README

这是一个用于Firebase PHP Admin SDK的 Laravel 扩展包。

Current version Monthly Downloads Total Downloads Tests codecov Discord Sponsor

安装

此扩展包需要 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 服务条款 的约束。