A lightweight wrapper around the official Cloud Firestore PHP client for Laravel and Firevel, compatible with Google App Engine Standard.
-
Create a Firestore project
If you don’t have one yet, follow the Cloud Firestore quick start. -
Install the package
composer require firevel/firestore
-
Enable gRPC extensions
If you’re deploying to Google App Engine Standard, create aphp.ininext to yourapp.yamlwith:extension=grpc.so extension=protobuf.so
Using the library outside of App Engine? See the gRPC installation guide and Installing the protobuf runtime library.
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,
];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);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).
- Official Firestore docs: https://cloud.google.com/firestore/docs/
- In-depth PHP samples: https://github.com/GoogleCloudPlatform/php-docs-samples/tree/master/firestore