Recently, I created a Firebase project composed by two parts, one is an iOS app and the other is a website. Everything was fine until I discovered that I needed to use PHP to load content dynamically into the page instead of just JavaScript.
On further research I found out that I could not retrieve data from the Firebase database using JavaScript and then use this data on a PHP script.
Since there is no documentation for PHP on Firebase docs, I started looking for some answer and I found out a project on github called Firebase Admin SDK for PHP. So here I am after many frustrated tries to retrieve data from Firebase using PHP asking for help. Here is what I did:
Installed Composer with:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
CD into projects folder and run:
php composer.phar require kreait/firebase-php
Create a new index.php on the project to test
Add to the top of index.php:
require DIR.'/vendor/autoload.php';
Inside Fibase project overview, create a service account and save the FriendlyChat-1f226af19083.json to the project folder.
Add to index.php:
$firebase = (new \Firebase\Factory())
->withCredentials(DIR.'/FriendlyChat-1f226af19083.json')
->withDatabaseUri('https://friendlychat-82d4c.firebaseio.com/')
->create();
$database = $firebase->getDatabase();
$reference = $database->getReference('/k1');
$snapshot = $reference->getSnapshot();
$k1 = $snapshot->getValue();
echo $k1.'';
Here is the project database:
What I hoped was to see "teste" printed in the page. But the page simply renders blank, can anyone help me on this matter? I'm not sure where to go next, as soon as I'm able to get and set data from the database I can actually start developing the new website in php.
$acc = ServiceAccount::fromJsonFile(__DIR__.'/key/xxxxxx.json');
$firebase = (new Factory)->withServiceAccount($acc)->create();
$this->database = $firebase->getDatabase();
$reference = $database->getReference('/K1');
$snapshot = $reference->getSnapshot()->getValue();
The correct way to connect with you Firebase DB
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With