phpでfirestoreに接続
-
とりあえずlaravel環境用意
私はphp8の方使用。
groupadd: invalid group ID 'sail' 問題にぶつかる以下解決
- DockerFileにgrpc、protobuf(grpcのパフォーマンスを向上させるライブラリ)をインストールするために記述追加
pecl install grpc && \
pecl install protobuf && \
-
php.iniに追加
extension=grpc.so extension=protobuf.so
- docker build
- build終わったらコンテナーに入ってcomposer require
composer require google/cloud-firestore composer require kreait/laravel-firebase
composer require kreait/laravel-firebaseはいらないかもなあ
-
.envファイルに追加 hogehoge.jsonについては後ほど
GOOGLE_APPLICATION_CREDENTIALS="/var/www/html/hogehoge.json"
Cloud Firestore を使ってみる | Firebase
-
Google アプリケーションのデフォルト認証情報
-
サービスアカウント作成画面に移動
プロジェクトを選択
-
サービス アカウントの作成
サービスカウント名、説明(必要なら)を入力、作成して実行押下。
ロールを選択
cloud databastoreユーザ選択、続行、許可サービス アカウント一覧画面で先程作成したメールアドレスを押下
キーを押下、鍵を追加、新しい鍵を作成、jsonが選択されている状態で作成押下
ここで作られたjsonファイルがGOOGLE_APPLICATION_CREDENTIALS
-
-
Laravelでとりあえずデータを取得してみる
Hogecontroller.php
<?php namespace App\Http\Controllers; use Google\Cloud\Firestore\FirestoreClient; class HogeController extends Controller { public function get() { // Create the Cloud Firestore client $db = new FirestoreClient(); printf('Created Cloud Firestore client with default project ID.' . PHP_EOL); $usersRef = $db->collection('users'); $snapshot = $usersRef->documents(); return view('document', [ 'snapshot' => $snapshot, ]); } }
ブラウザでデータ取得できていること確認
とりあえずここまで
参照
Author And Source
この問題について(phpでfirestoreに接続), 我々は、より多くの情報をここで見つけました https://qiita.com/megponfire/items/3a402691158b42221148著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .