Download the PHP package firevel/firestore-mirror without Composer

On this page you can find all versions of the php package firevel/firestore-mirror. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package firestore-mirror

Laravel Firestore Mirror

Latest Version on Packagist Total Downloads CI

Automatically sync your Laravel Eloquent models to Google Firestore collections in real-time. This package provides a seamless way to mirror your database records to Firestore, enabling powerful real-time features and offline capabilities for your applications.

Features

Requirements

Installation

Install the package using Composer:

Quick Start

Add the HasFirestoreMirror trait to any Eloquent model you want to sync with Firestore:

That's it! Your User model will now automatically sync to Firestore whenever you create, update, or delete records.

Configuration

Customizing Collection Names

By default, the Firestore collection name matches your model's database table name. You can customize this in two ways:

Static Collection Name

Dynamic Collection Name

Customizing Document Structure

Control exactly what data gets synced to Firestore by overriding the toFirestoreDocument() method:

Customizing Document IDs

By default, the Firestore document ID matches your model's primary key. Override this behavior:

Mirroring to Multiple Collections

You can mirror a single model to multiple Firestore collections. This is useful for denormalization patterns common in Firestore, where you might want the same data available in different collections for efficient querying.

Using Property

Using getFirestoreCollectionName() Method

Using getFirestoreCollectionNames() Method (Recommended)

When mirroring to multiple collections:

Priority Order: If multiple methods are defined, getFirestoreCollectionNames() takes precedence over getFirestoreCollectionName(), which takes precedence over the $firestoreCollection property.

Usage

Automatic Syncing

Once you've added the HasFirestoreMirror trait, your models will automatically sync to Firestore on these events:

Manual Syncing

You can manually sync individual models:

Batch Syncing Collections

The package provides a powerful mirrorToFirestore() collection macro for efficiently syncing multiple models at once using Firestore's batch operations:

The batch operation is atomic - either all documents are synced successfully, or none are.

Artisan Command for Bulk Mirroring

For large-scale operations or initial data migration, use the included Artisan command to mirror all records of a model to Firestore:

Features:

Example Output:

When to Use:

Note: The command respects the shouldMirrorToFirestore() method and will skip records that shouldn't be mirrored. For programmatic batch operations within your application code, use the collection macro ->mirrorToFirestore() instead.

Deleting from Firestore

To manually delete a model from Firestore without deleting it from your database:

Advanced Usage

Disabling Syncing Temporarily

You can temporarily disable Firestore syncing for specific operations using the withoutSyncingToFirestore() method:

This is particularly useful for:

Conditional Syncing

The package provides built-in support for conditional syncing. Override the shouldMirrorToFirestore() method to control when models should be synced to Firestore:

When shouldMirrorToFirestore() returns false:

This is useful for:

Multi-Tenant Applications

For multi-tenant applications, you can dynamically set collection names:

Testing

Run the test suite:

Run a specific test:

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

The MIT License (MIT). Please see License File for more information.


All versions of firestore-mirror with dependencies

PHP Build Version
Package Version
Requires firevel/firestore Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package firevel/firestore-mirror contains the following files

Loading the files please wait ...