在php中与codeigniter的Firebase连接

szqfcxe2  于 2022-12-07  发布在  PHP
关注(0)|答案(3)|浏览(130)

我想在PHP中连接firebase数据库和我的codeigniter项目。
我无法找到确切的解决方案和库。
请推荐正确的库与正确的步骤,我应该遵循连接。
先谢谢你。

qyyhg6bp

qyyhg6bp1#

您可以使用此库https://github.com/eelkevdbos/firebase-php

Codeigniter基本程式库

1.使用Composer安装kreait/firebase-php软件包。

composer require kreait/firebase-php ^4.18

1.编辑文件application/config/autoload.php,替换以下行。

...
$autoload['libraries'] = array('firebase');
...
$autoload['config'] = array('firebase');
...

1.后藤Firebase Console,导航至Firebase Admin SDK选项卡中的项目设置-〉服务帐户,单击“生成新私钥”按钮,然后单击“生成密钥”下载.json文件并保存为项目中的application/config文件夹。
1.复制步骤3中的.json文件名。将其替换为$config['filebase_app_key]数组中的application/config/firebase.php文件,如下所示。

$config['firebase_app_key'] = __DIR__ . '/../config/your-app-firebase-adminsdk-xxxxx-xxxxxxxxxx.json';

1.现在,你可以像这样在Controller文件中使用firebase库了。

$this->load->library('firebase');
$firebase = $this->firebase->init();
$db = $firebase->getDatabase();

您可以在www.example.com上找到更多用法示例https://firebase-php.readthedocs.io/en/stable/overview.html#usage-example。和https://www.cloudways.com/blog/php-firebase-integration

jchrr9hc

jchrr9hc2#

可以通过使用https://github.com/eelkevdbos/firebase-php在项目中使用FireBase

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'));
bmvo0sr5

bmvo0sr53#

添加到hamza ali的评论..不要忘记在您的应用程序/库文件夹中添加以下代码作为“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();
    }
}

否则将抛出错误

相关问题