最近,我创建了一个由两部分组成的Firebase项目,一个是iOS应用程序,另一个是网站。一切都很好,直到我发现我需要使用PHP将内容动态加载到页面而不仅仅是JavaScript。
在进一步研究中,我发现无法使用JavaScript从Firebase数据库中检索数据,然后在PHP脚本上使用此数据。
由于在Firebase文档上没有关于PHP的文档,我开始寻找答案,并在github上找到了一个名为Firebase Admin SDK for PHP的项目。所以在这里我经历了许多沮丧的尝试,使用PHP寻求帮助从Firebase检索数据。这是我做的:
已安装的Composer:
php -r" copy(' https://getcomposer.org/installer',' composer-setup.php');"
php composer-setup.php
php -r" unlink(' composer-setup.php');"
将CD放入项目文件夹并运行:
php composer.phar需要kreait / firebase-php
在项目上创建一个新的index.php以进行测试
添加到index.php的顶部:
要求 DIR 。' / vendor/autoload.php' ;;
在Fibase内部项目概述中,创建一个服务帐户并将FriendlyChat-1f226af19083.json保存到项目文件夹中。
添加到index.php:
$ firebase =(new \ Firebase \ Factory())
- > withCredentials(的 DIR ' /FriendlyChat-1f226af19083.json')
- > withDatabaseUri(' https://friendlychat-82d4c.firebaseio.com/')
- >创建();
$ database = $ firebase-> getDatabase();
$ reference = $ database-> getReference(' / k1');
$ snapshot = $ reference-> getSnapshot();
$ k1 = $ snapshot-> getValue();
echo $ k1。'';
我希望看到" teste"打印在页面中。但页面只是呈现空白,任何人都可以帮我解决这个问题吗?我不知道下一步该去哪里,只要我能够从数据库中获取和设置数据,我就可以开始在php中开发新网站了。
答案 0 :(得分:0)
$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();
与Firebase DB连接的正确方法
答案 1 :(得分:0)
<?php
require __DIR__.'/../vendor/autoload.php';
use Kreait\Firebase\Factory;
$factory = (new Factory)
->withServiceAccount('secret/serviceaccount.json')
->withDatabaseUri('link_to_your_firebase_database');
$database = $factory->createDatabase();
$reference = $database->getReference('Services/');
$snapshot = $reference->getSnapshot();
$value = $snapshot->getValue();