Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jaredchu/jc-firebase-php
A working Firebase http client
https://github.com/jaredchu/jc-firebase-php
firebase packagist php php-library php7 scrutinizer
Last synced: 4 days ago
JSON representation
A working Firebase http client
- Host: GitHub
- URL: https://github.com/jaredchu/jc-firebase-php
- Owner: jaredchu
- License: mit
- Created: 2016-11-29T08:27:42.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2020-02-16T05:07:19.000Z (over 4 years ago)
- Last Synced: 2024-04-24T13:36:18.228Z (7 months ago)
- Topics: firebase, packagist, php, php-library, php7, scrutinizer
- Language: PHP
- Homepage: https://github.com/jaredchu/JC-Firebase-PHP
- Size: 79.1 KB
- Stars: 14
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
PHP library access Firebase RESTful API
[![Packagist](https://img.shields.io/packagist/v/jaredchu/JC-Firebase-PHP.svg)](https://packagist.org/packages/jaredchu/jc-firebase-php)
[![Packagist](https://img.shields.io/packagist/dt/jaredchu/JC-Firebase-PHP.svg)](https://packagist.org/packages/jaredchu/jc-firebase-php)
[![Travis](https://img.shields.io/travis/jaredchu/JC-Firebase-PHP.svg)](https://travis-ci.org/jaredchu/JC-Firebase-PHP)
[![Scrutinizer](https://img.shields.io/scrutinizer/g/jaredchu/JC-Firebase-PHP.svg)](https://scrutinizer-ci.com/g/jaredchu/JC-Firebase-PHP/)
[![Codecov](https://img.shields.io/codecov/c/github/jaredchu/JC-Firebase-PHP.svg)](https://codecov.io/gh/jaredchu/JC-Firebase-PHP)
[![Packagist](https://img.shields.io/packagist/l/jaredchu/JC-Firebase-PHP.svg)](https://packagist.org/packages/jaredchu/jc-firebase-php)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fjaredchu%2FJC-Firebase-PHP.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fjaredchu%2FJC-Firebase-PHP?ref=badge_shield)## Installation
`$ composer require jaredchu/jc-firebase-php`## Usage
Generate a [private key in JSON format](https://cloud.google.com/storage/docs/authentication#service_accounts).#### Check Firebase credential
```php
use JC\Firebase\JCFirebase;$firebaseURI = "https://.firebaseio.com";
$jsonKeyFile = "path/to/serviceAccountKey.json";$firebase = new JCFirebase::fromKeyFile( $firebaseURI, $jsonKeyFile );
if( $firebase->isValid() ){
//do something
}
```#### GET - Reading Data
```php
$response = $firebase->get('user');
echo $response->success;
echo $response->body;
```
#### PUT - Writing Data
```php
$response = $firebase->put('user', array('data' => array('first_name'=>'Jared','last_name'=>'Chu')));
echo $response->status_code;
echo $response->body;
```#### POST - Pushing Data
```php
$response = $firebase->post('log', array('data' => array('code'=>401,'message'=>'Not Authorized')));
echo $response->status_code;
echo $response->body;
```
#### PATCH - Updating Data
```php
$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
```php
$response = $firebase->delete('user/first_name');
echo $response->status_code;
echo $response->body;
```
## Modeling#### Create Firebase connector
```php
use JC\Firebase\JCFirebase;$firebaseURI = "https://.firebaseio.com";
$jsonKeyFile = "path/to/serviceAccountKey.json";$firebase = new JCFirebase::fromKeyFile( $firebaseURI, $jsonKeyFile );
```
#### Extend your Model with FirebaseModel
```php
class Log extends FirebaseModel {
/**
* @var integer
*/
public $code;
/**
* @var string
*/
public $message;
}
```
#### Get record
```php
$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
```php
$log = new Log( $firebase );
$log->code = 200;
$log->message = 'Success';
$log->save();
```#### Update record
```php
$log = Log::findByKey( $key, $firebase );
$log->code = 400;
$log->message = 'Bad Request';
$log->save();
```
#### Delete record
```php
$log = Log::findByKey( $key, $firebase );
$log->delete();
```
## Contributing
1. Fork it!
2. Create your feature branch: `$ git checkout -b feature/your-new-feature`
3. Commit your changes: `$ git commit -am 'Add some feature'`
4. Push to the branch: `$ git push origin feature/your-new-feature`
5. Submit a pull request.## License
[MIT License](https://github.com/jaredchu/JC-Firebase-PHP/blob/master/LICENSE)[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fjaredchu%2FJC-Firebase-PHP.svg?type=large)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fjaredchu%2FJC-Firebase-PHP?ref=badge_large)
## Support on Beerpay
Hey dude! Help me out for a couple of :beers:![![Beerpay](https://beerpay.io/jaredchu/JC-Firebase-PHP/badge.svg?style=beer-square)](https://beerpay.io/jaredchu/JC-Firebase-PHP) [![Beerpay](https://beerpay.io/jaredchu/JC-Firebase-PHP/make-wish.svg?style=flat-square)](https://beerpay.io/jaredchu/JC-Firebase-PHP?focus=wish)