Firebase easy REST API wrapper for Laravel and Lumen
, (*1)
Installation
Laravel
composer require safestudio/firebase-laravel
After installing composer package, add the ServiceProvider to the providers array in config/app.php
, (*2)
SafeStudio\Firebase\FirebaseServiceProvider::class,
Add this to your aliases for shorter code:, (*3)
'Firebase' => SafeStudio\Firebase\Facades\FirebaseFacades::class,
Insert the config settings in config/services.php
like this:, (*4)
'firebase' => [
'database_url' => env('FB_DATABASE', 'https://project-id.firebaseio.com/'),
'secret' => env('FB_DATABASE_KEY', 'dbsecretkey'),
]
You can get Firebase secret
token like so:
- Click on the gear icon in you Firebase Console
- Click Project settings
- Click on the Service Account tab
- Click on the Database Secrets link in the inner left-nav
- Hover over the non-displayed secret and click Show, (*5)
Lumen
composer require safestudio/firebase-laravel
After installing composer package, add the ServiceProvider to the providers array in bootstrap/app.php
, (*6)
$app->register(SafeStudio\Firebase\FirebaseServiceProvider::class);
Add this to your aliases for shorter code:, (*7)
class_alias(SafeStudio\Firebase\Facades\FirebaseFacades::class, 'Firebase');
Make sure this line is uncommented:, (*8)
$app->withFacades();
Add this line:, (*9)
$app->configure('services');
Insert the environment variables in .env
like this:, (*10)
FB_DATABASE=https://PROJECT.firebaseio.com
FB_DATABASE_KEY=KB2xZjJgAvmPROJECT8ykNrT6f2emuuaxJTr9
Insert the config settings in config/services.php
like this:, (*11)
'firebase' => [
'database_url' => env('FB_DATABASE', 'https://project-id.firebaseio.com/'),
'secret' => env('FB_DATABASE_KEY', 'dbsecretkey'),
]
You can get Firebase secret
token like so:
- Click on the gear icon in you Firebase Console
- Click Project settings
- Click on the Service Account tab
- Click on the Database Secrets link in the inner left-nav
- Hover over the non-displayed secret and click Show, (*12)
Usage
$data = ['key' => 'data' , 'key1' => 'data1']
Firebase::set('/test/',$data);
Firebase::get('/test/',['print'=> 'pretty']);
Firebase::push('/test/',$data);
Firebase::update('/test/',['key1' => 'Updating data by key']);
Firebase::delete('/test/');
For more options see firebase REST official documentation, (*13)