Firebaseをphpから。
さて。つぎはもっとNoSQLを使って見ようと思う。
とりあえずRealtime Databaseで行くんですが、Angularみたいなフロントではなくて、もっとバックエンドの処理を作るイメージ。
とりあえず、PHPでちゃちゃっと作ってみようではないか。
Firebaseのアカウントとか持ってる前提です。
1)データベース作成
いきなりデータベース作成です。プロジェクトとかない場合は、適当に作ってください。また、すでにDB作ってあるんだったらそれで良いです。
2)設定画面をみる
左上の「Project Overview」の右にある歯車をクリック。
プロジェクトの設定ページがでるので、「サービス アカウント」タブを開く。
「Firebase Admin SDK」を選択された状態で、下の方に「新しい秘密鍵を生成」があるので、それをクリック。
ダウンロードされたjsonファイルを、
firebase.json
とかにリネーム
3)PHPのライブラリインストール
調べたら「Firebase Admin SDK for PHP」ってのが出てきたので、それを使う。
composer init
composer create-project
composer require kreait/firebase-php
4)PHP を書く
ソースはこんなかんじ。
<?php
require './vendor/autoload.php';
use Kreait\Firebase;
use Kreait\Firebase\Factory;
use Kreait\Firebase\ServiceAccount;
$serviceAccount = ServiceAccount::fromJsonFile(__DIR__.'/firebase.json');
$firebase = (new Factory)
->withServiceAccount($serviceAccount)
->create();
$database = $firebase->getDatabase();
$database->getReference('test')
->set([
'describe' => 'せつめい',
'subject' => [
'章番号' => '1',
'タイトル' => 'タイトルです',
],
'価格' => '100',
]);
$reference = $database->getReference('test');
$value = $reference->getValue();
var_dump($value);
なるほどカンタンだ。