firevel/firestore

Firestore wrapper for Laravel app running inside Google App Engine.

1.2.0 2025-08-27 20:42 UTC

This package is auto-updated.

Last update: 2025-08-27 20:43:52 UTC


README

A lightweight wrapper around the official Cloud Firestore PHP client for Laravel and Firevel, compatible with Google App Engine Standard.

Installation

  1. Create a Firestore project
    If you don’t have one yet, follow the Cloud Firestore quick start.

  2. Install the package

    composer require firevel/firestore
  3. Enable gRPC extensions
    If you’re deploying to Google App Engine Standard, create a php.ini next to your app.yaml with:

    extension=grpc.so
    extension=protobuf.so

    Using the library outside of App Engine? See the gRPC installation guide and Installing the protobuf runtime library.

Tinker / PsySH note

If the pcntl extension is enabled, set usePcntl to false in your .psysh.php to avoid gRPC calls hanging in Tinker:

<?php

return [
    'usePcntl' => false,
];

Usage

Use the Firestore facade to access the client:

use Firevel\Firestore\Facades\Firestore;

$data = [
    'name'    => 'Los Angeles',
    'state'   => 'CA',
    'country' => 'USA',
];

Firestore::collection('cities')->document('LA')->set($data);

Authentication

On Google App Engine Standard, Firestore works without additional credentials.
For local development or other environments, follow the official Authentication guide (e.g., set GOOGLE_APPLICATION_CREDENTIALS).

Resources