jaredchu / jc-firebase-php
Firebase PHP RESTful library
Installs: 1 110
Dependents: 0
Suggesters: 0
Security: 0
Stars: 14
Watchers: 2
Forks: 5
Open Issues: 0
Requires
- php: >=5.5
- firebase/php-jwt: ^4.0
- jaredchu/jc-request: ^1.0
- netresearch/jsonmapper: ^1.1
Requires (Dev)
- phpunit/phpunit: ^4.0 || ^5.0
This package is not auto-updated.
Last update: 2024-11-10 01:49:25 UTC
README
PHP library access Firebase RESTful API
Installation
$ composer require jaredchu/jc-firebase-php
Usage
Generate a private key in JSON format.
Check Firebase credential
use JC\Firebase\JCFirebase; $firebaseURI = "https://<DATABASE_NAME>.firebaseio.com"; $jsonKeyFile = "path/to/serviceAccountKey.json"; $firebase = new JCFirebase::fromKeyFile( $firebaseURI, $jsonKeyFile ); if( $firebase->isValid() ){ //do something }
GET - Reading Data
$response = $firebase->get('user'); echo $response->success; echo $response->body;
PUT - Writing Data
$response = $firebase->put('user', array('data' => array('first_name'=>'Jared','last_name'=>'Chu'))); echo $response->status_code; echo $response->body;
POST - Pushing Data
$response = $firebase->post('log', array('data' => array('code'=>401,'message'=>'Not Authorized'))); echo $response->status_code; echo $response->body;
PATCH - Updating Data
$response = $firebase->patch('user', array('data' => array('first_name'=>'Jared', 'last_name'=>'Leto','age'=>27))); echo $response->status_code; echo $response->body;
DELETE - Removing Data
$response = $firebase->delete('user/first_name'); echo $response->status_code; echo $response->body;
Modeling
Create Firebase connector
use JC\Firebase\JCFirebase; $firebaseURI = "https://<DATABASE_NAME>.firebaseio.com"; $jsonKeyFile = "path/to/serviceAccountKey.json"; $firebase = new JCFirebase::fromKeyFile( $firebaseURI, $jsonKeyFile );
Extend your Model with FirebaseModel
class Log extends FirebaseModel { /** * @var integer */ public $code; /** * @var string */ public $message; }
Get record
$log = Log::findByKey( $key, $firebase ); echo $log->key; echo $log->code; echo $log->message; $logs = Log::findAll( $firebase ); foreach ($logs as $log){ echo $log->key; echo $log->code; echo $log->message; }
Create record
$log = new Log( $firebase ); $log->code = 200; $log->message = 'Success'; $log->save();
Update record
$log = Log::findByKey( $key, $firebase ); $log->code = 400; $log->message = 'Bad Request'; $log->save();
Delete record
$log = Log::findByKey( $key, $firebase ); $log->delete();
Contributing
- Fork it!
- Create your feature branch:
$ git checkout -b feature/your-new-feature
- Commit your changes:
$ git commit -am 'Add some feature'
- Push to the branch:
$ git push origin feature/your-new-feature
- Submit a pull request.
License
Support on Beerpay
Hey dude! Help me out for a couple of 🍻!