I want to connect firebase database with my codeigniter project in php.
I not able to find the exact solution and library..
Please recommend the correct library with correct steps that I should follow to connect.
Thanks in advance.
I want to connect firebase database with my codeigniter project in php.
I not able to find the exact solution and library..
Please recommend the correct library with correct steps that I should follow to connect.
Thanks in advance.
You can use this library https://github.com/eelkevdbos/firebase-php
composer require kreait/firebase-php ^4.18
application/config/autoload.php
replace this following line....
$autoload['libraries'] = array('firebase');
...
$autoload['config'] = array('firebase');
...
Goto Firebase Console navigate to Project settings -> Service accounts in the Firebase Admin SDK tab, click to the "Generate new private key" button then click "Generate key" to download .json file and save as to application/config
folder in the project.
Copy your .json file name from step 3. replace it to application/config/firebase.php
file in the $config['filebase_app_key]
array like this.
$config['firebase_app_key'] = __DIR__ . '/../config/your-app-firebase-adminsdk-xxxxx-xxxxxxxxxx.json';
$this->load->library('firebase');
$firebase = $this->firebase->init();
$db = $firebase->getDatabase();
You can find more usage examples at https://firebase-php.readthedocs.io/en/stable/overview.html#usage-example. and https://www.cloudways.com/blog/php-firebase-integration
You can use FireBase in your project by using https://github.com/eelkevdbos/firebase-php
use Firebase\Firebase;
$fb = Firebase::initialize(YOUR_FIREBASE_URL, YOUR_FIREBASE_SECRET);
//or set your own implementation of the ClientInterface as second parameter of the regular constructor
$fb = new Firebase([ 'base_url' => YOUR_FIREBASE_BASE_URL, 'token' => YOUR_FIREBASE_SECRET ], new GuzzleHttp\Client());
//retrieve a node
$nodeGetContent = $fb->get('/node/path');
//set the content of a node
$nodeSetContent = $fb->set('/node/path', array('data' => 'toset'));
//update the content of a node
$nodeUpdateContent = $fb->update('/node/path', array('data' => 'toupdate'));
//delete a node
$nodeDeleteContent = $fb->delete('/node/path');
//push a new item to a node
$nodePushContent = $fb->push('/node/path', array('name' => 'item on list'));
Adding to hamza ali's comment.. Do not forget to add following code in your application/libraries folder as "firebase.php"
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
require __DIR__.'/../../vendor/autoload.php';
use Kreait\Firebase\Factory;
use Kreait\Firebase\ServiceAccount;
class Firebase {
protected $config = array();
protected $serviceAccount;
public function __construct()
{
// Assign the CodeIgniter super-object
$this->CI =& get_instance();
$this->serviceAccount = ServiceAccount::fromJsonFile($this->CI->config->item('firebase_app_key'));
}
public function init()
{
return $firebase = (new Factory)->withServiceAccount($this->serviceAccount)->create();
}
}
Otherwise it will throw an error
© 2022 - 2024 — McMap. All rights reserved.