rasyid46 / laravel-firebase-sync
Synchronize your Eloquent models with a Firebase realtime database.
Requires
- php: ^8.1
- illuminate/support: ^5.0
- ktamas77/firebase-php: ^2.2
Requires (Dev)
- mockery/mockery: ~0.9
- orchestra/testbench: ~3.0
- phpunit/phpunit: ~4.7 || ~5.0
This package is not auto-updated.
Last update: 2024-11-15 08:25:57 UTC
README
Synchronize your Eloquent models with the Firebase Realtime Database
Contents
Installation
In order to add Laravel Firebase Sync to your project, just add
"mpociot/laravel-firebase-sync": "~1.0"
to your composer.json. Then run composer install
or composer update
.
Or run composer require rasyid46/laravel-firebase-sync
if you prefer that.
Usage
Configuration
This package requires you to add the following section to your config/services.php
file:
'firebase' => [ 'api_key' => 'API_KEY', // Only used for JS integration 'auth_domain' => 'AUTH_DOMAIN', // Only used for JS integration 'database_url' => 'https://your-database-at.firebaseio.com', 'secret' => 'DATABASE_SECRET', 'storage_bucket' => 'STORAGE_BUCKET', // Only used for JS integration ]
Note: This package only requires the configuration keys database_url
and secret
. The other keys are only necessary if you want to also use the firebase JS API.
Synchronizing models
To synchronize your Eloquent models with the Firebase realtime database, simply let the models that you want to synchronize with Firebase use the Mpociot\Firebase\SyncsWithFirebase
trait.
use Mpociot\Firebase\SyncsWithFirebase; class User extends Model { use SyncsWithFirebase; }
The data that will be synchronized is the array representation of your model. That means that you can modify the data using the existing Eloquent model attributes like visible
, hidden
or appends
.
If you need more control over the data that gets synchronized with Firebase, you can override the getFirebaseSyncData
of the SyncsWithFirebase
trait and let it return the array data you want to send to Firebase.
License
Laravel Firebase Sync is free software distributed under the terms of the MIT license.