romankobrin/laravel-firebase

用于 Firebase PHP Admin SDK 的 Laravel 扩展包

3.1.0 2021-02-02 23:32 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:50 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 服务提供者为您完成。请使用依赖注入、门面或 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 服务条款 的约束。