{"id":19775502,"url":"https://github.com/jaredchu/jc-firebase-php","last_synced_at":"2025-04-30T19:30:35.404Z","repository":{"id":44373844,"uuid":"75059755","full_name":"jaredchu/JC-Firebase-PHP","owner":"jaredchu","description":"A working Firebase http client","archived":true,"fork":false,"pushed_at":"2020-02-16T05:07:19.000Z","size":81,"stargazers_count":14,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T07:18:18.755Z","etag":null,"topics":["firebase","packagist","php","php-library","php7","scrutinizer"],"latest_commit_sha":null,"homepage":"https://github.com/jaredchu/JC-Firebase-PHP","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaredchu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-29T08:27:42.000Z","updated_at":"2024-12-21T16:28:29.000Z","dependencies_parsed_at":"2022-07-12T20:10:30.090Z","dependency_job_id":null,"html_url":"https://github.com/jaredchu/JC-Firebase-PHP","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredchu%2FJC-Firebase-PHP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredchu%2FJC-Firebase-PHP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredchu%2FJC-Firebase-PHP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredchu%2FJC-Firebase-PHP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaredchu","download_url":"https://codeload.github.com/jaredchu/JC-Firebase-PHP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251769200,"owners_count":21640861,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["firebase","packagist","php","php-library","php7","scrutinizer"],"created_at":"2024-11-12T05:16:31.954Z","updated_at":"2025-04-30T19:30:33.453Z","avatar_url":"https://github.com/jaredchu.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"http://i.imgur.com/CTP9Dmu.jpg\"\u003e\u003c/p\u003e\n\u003ch1 align=\"center\"\u003ePHP library access Firebase RESTful API\u003c/h1\u003e\n\n[![Packagist](https://img.shields.io/packagist/v/jaredchu/JC-Firebase-PHP.svg)](https://packagist.org/packages/jaredchu/jc-firebase-php)\n[![Packagist](https://img.shields.io/packagist/dt/jaredchu/JC-Firebase-PHP.svg)](https://packagist.org/packages/jaredchu/jc-firebase-php)\n[![Travis](https://img.shields.io/travis/jaredchu/JC-Firebase-PHP.svg)](https://travis-ci.org/jaredchu/JC-Firebase-PHP)\n[![Scrutinizer](https://img.shields.io/scrutinizer/g/jaredchu/JC-Firebase-PHP.svg)](https://scrutinizer-ci.com/g/jaredchu/JC-Firebase-PHP/)\n[![Codecov](https://img.shields.io/codecov/c/github/jaredchu/JC-Firebase-PHP.svg)](https://codecov.io/gh/jaredchu/JC-Firebase-PHP)\n[![Packagist](https://img.shields.io/packagist/l/jaredchu/JC-Firebase-PHP.svg)](https://packagist.org/packages/jaredchu/jc-firebase-php)\n[![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)\n\n## Installation\n`$ composer require jaredchu/jc-firebase-php`\n\n## Usage\nGenerate a [private key in JSON format](https://cloud.google.com/storage/docs/authentication#service_accounts).\n\u003cimg src=\"http://i.imgur.com/MQ5WHBF.png\"\u003e\n\n#### Check Firebase credential\n```php\nuse JC\\Firebase\\JCFirebase;\n\n$firebaseURI = \"https://\u003cDATABASE_NAME\u003e.firebaseio.com\";\n$jsonKeyFile = \"path/to/serviceAccountKey.json\";\n\n$firebase = new JCFirebase::fromKeyFile( $firebaseURI, $jsonKeyFile );\nif( $firebase-\u003eisValid() ){\n    //do something\n}\n```\n\n#### GET - Reading Data\n```php\n$response = $firebase-\u003eget('user');\necho $response-\u003esuccess;\necho $response-\u003ebody;\n```\n#### PUT - Writing Data\n```php\n$response = $firebase-\u003eput('user', array('data' =\u003e array('first_name'=\u003e'Jared','last_name'=\u003e'Chu')));\necho $response-\u003estatus_code;\necho $response-\u003ebody;\n```\n\n#### POST - Pushing Data\n```php\n$response = $firebase-\u003epost('log', array('data' =\u003e array('code'=\u003e401,'message'=\u003e'Not Authorized')));\necho $response-\u003estatus_code;\necho $response-\u003ebody;\n```\n#### PATCH - Updating Data\n```php\n$response = $firebase-\u003epatch('user', array('data' =\u003e array('first_name'=\u003e'Jared',\n                             'last_name'=\u003e'Leto','age'=\u003e27)));\necho $response-\u003estatus_code;\necho $response-\u003ebody;\n```\n#### DELETE - Removing Data\n```php\n$response = $firebase-\u003edelete('user/first_name');\necho $response-\u003estatus_code;\necho $response-\u003ebody;\n```\n## Modeling\n\n#### Create Firebase connector\n```php\nuse JC\\Firebase\\JCFirebase;\n\n$firebaseURI = \"https://\u003cDATABASE_NAME\u003e.firebaseio.com\";\n$jsonKeyFile = \"path/to/serviceAccountKey.json\";\n\n$firebase = new JCFirebase::fromKeyFile( $firebaseURI, $jsonKeyFile );\n```\n#### Extend your Model with FirebaseModel\n```php\nclass Log extends FirebaseModel {\n\t/**\n\t * @var integer\n\t */\n\tpublic $code;\n\t/**\n\t * @var string\n\t */\n\tpublic $message;\n}\n```\n#### Get record\n```php\n$log = Log::findByKey( $key, $firebase );\necho $log-\u003ekey;\necho $log-\u003ecode;\necho $log-\u003emessage;\n\n$logs = Log::findAll( $firebase );\nforeach ($logs as $log){\n    echo $log-\u003ekey;\n    echo $log-\u003ecode;\n    echo $log-\u003emessage;\n}\n```\n\n#### Create record\n```php\n$log          = new Log( $firebase );\n$log-\u003ecode    = 200;\n$log-\u003emessage = 'Success';\n$log-\u003esave();\n```\n\n#### Update record\n```php\n$log = Log::findByKey( $key, $firebase );\n$log-\u003ecode    = 400;\n$log-\u003emessage = 'Bad Request';\n$log-\u003esave();\n```\n#### Delete record\n```php\n$log = Log::findByKey( $key, $firebase );\n$log-\u003edelete();\n```\n## Contributing\n1. Fork it!\n2. Create your feature branch: `$ git checkout -b feature/your-new-feature`\n3. Commit your changes: `$ git commit -am 'Add some feature'`\n4. Push to the branch: `$ git push origin feature/your-new-feature`\n5. Submit a pull request.\n\n## License\n[MIT License](https://github.com/jaredchu/JC-Firebase-PHP/blob/master/LICENSE)\n\n\n[![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)\n\n## Support on Beerpay\nHey dude! Help me out for a couple of :beers:!\n\n[![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)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredchu%2Fjc-firebase-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaredchu%2Fjc-firebase-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredchu%2Fjc-firebase-php/lists"}