Cara menggunakan firebase database php

Halo teman-teman, pada kesempatan kali ini. Saya akan membahas bagaimana cara membuat koneksi antara laravel dengan firebase real time database.

Taukah anda tentang firebase?

Firebase

Firebase adalah sebuah platform database buatan Google yang akhir -akhir menjadi jajanan baru bagi para Developer , gak aneh kalo sekarang, banyak Developer yang sudah beralih ke Firebase karena berbagai fitur kelebihannya, Salah satunya ini nih, Realtime Database yang akan kita pelajari kali ini.

Sesuai dengan namanya Realtime, yang artinya perubahan langsung, jadi semisal ketika kita mengubah data melalui Database di Firebase secara langsung pada Aplikasi kita data tersebut akan ikut berubuah, sangat mengagumkan bukan?!

Langkah-langkahnya:

  1. Buat Project Firebase
  2. Setting Rules Firebase
  3. Generate API Key Firebase
  4. Install New Laravel project
  5. Install Package
  6. Buat Controller
  7. Tambahkan Route

1. Buat project firebase

Langkah awal, buat project firebase Anda. Buka halaman Firebase kemudian buka Console atau langsung buka firebase.console.com. Anda harus punya akun Gmail dahulu ya, kalau belum ada, silahkan daftar dahulu.

Cara menggunakan firebase database php

Kemudian, di halaman berikutnya, buat database baru. Klik create project

Cara menggunakan firebase database php

Tunggu beberapa saat, karena memakan waktu load sedikit lebih lama. Tunggu sampai dilempar ke halaman Dashboard Firebase.

Cara menggunakan firebase database php

2. Setting Rules firebase Anda

Setelah sukses masuk ke halaman dashboard, pilih menu Database, klik Rules untuk merubah settingannya. Disini kita rubah read dan write value menjadi true semua, kemudian klik tombol Publish.

Cara menggunakan firebase database php


3. Generate API Key firebase Anda

Kita membutuhkan API Key dari firebase untuk menghubungkan aplikasi kita dengan firebase. Caranya, klik tombol gear project, klik User and Permissions tab.


Cara menggunakan firebase database php


Setelah masuk ke halaman User and Permission, klik Service Accounts tab. Klik tombol Generate new private key. File berformat json, nantinya disimpan file ini di app/http/Controller.

 4. Install Laravel New Project

Install laravel app menggunakan command :

Laravel new [nama_app_anda]

Jangan lupa untuk generate key :

Php artisan key:generate

5. Install package

Setelah berhasil menginstall laravel application, kemudian tambahkan package kreait/firebase-php ^4.0.

composer require kreait/firebase-php ^4.0



Cara menggunakan firebase database php

6. Create Controller

Buat Controller dengan nama FirebaseController. Gunakan command berikut :

php artisan make:controller FirebaseController

Tambahkan script seperti berikut :

 <?php  
 namespace App\Http\Controllers;  
 use Illuminate\Http\Request;  
 use Kreait\Firebase;  
 use Kreait\Firebase\Factory;  
 use Kreait\Firebase\ServiceAccount;  
 use Kreait\Firebase\Database;  
 class FirebaseController extends Controller  
 {  
 //  
 public function index(){  
 $serviceAccount = ServiceAccount::fromJsonFile(__DIR__.'/Laraveltesting-6aeda3a963f2.json');  
 $firebase = (new Factory)  
 ->withServiceAccount($serviceAccount)  
 ->withDatabaseUri('https://laraveltesting-bd2b9.firebaseio.com/')  
 ->create();  
 $database = $firebase->getDatabase();  
 $newPost = $database  
 ->getReference('blog/posts')  
 ->push([  
 'title' => 'Post title',  
 'body' => 'This should probably be longer.'  
 ]);  
 //$newPost->getKey(); // => -KVr5eu8gcTv7_AHb-3-  
 //$newPost->getUri(); // => https://my-project.firebaseio.com/blog/posts/-KVr5eu8gcTv7_AHb-3-  
 //$newPost->getChild('title')->set('Changed post title');  
 //$newPost->getValue(); // Fetches the data from the realtime database  
 //$newPost->remove();  
 echo"<pre>";  
 print_r($newPost->getvalue());  
 }  
 }  
 ?>  

7. Setup Route

Buka file di config/web.php kemudian tambahkan beberapa baris kode seperti berikut:

 <?php  
 /*  
 |--------------------------------------------------------------------------  
 | Web Routes  
 |--------------------------------------------------------------------------  
 |  
 | Here is where you can register web routes for your application. These  
 | routes are loaded by the RouteServiceProvider within a group which  
 | contains the "web" middleware group. Now create something great!  
 |  
 */  
 Route::get('/', function () {  
 return view('welcome');  
 });  
 Route::get('/phpfirebase_sdk','FirebaseController@index');  

Simpan semua perubahan yang telah kita buat. Kemudian coba untuk membuka route yang telah kita buat untuk melihat hasilnya.

Hasil di firebase web:

Cara menggunakan firebase database php


Feature Matrix package:

Feature

PHP

Node.js

Java

Python

Go

Custom Token Minting

ID Token Verification

Realtime Database API

*

*

User Management API

Remote Config

Cloud Messaging API

Cloud Storage API

Cloud Firestore API

#


* The Realtime Database API currently does not support realtime event listeners.

# An integration with google/cloud-firestore is currently not available to avoid the need to install the grpc PHP extension when using this SDK. morrislaptop/firestore-php is a new project that aims to provide support for the Firestore without the need to install the grpc PHP extension.
Jadi, untuk php tidak atau belum bisa menggunakan fitur realtime dari firebase ya (catat).


Conclusion

Beberapa langkah mudah membuat project sederhana menggunakan framework laravel dan firebase database realtime menggunakan package dari kreait/firebase-php. Namun, perlu dicatat bahwa untuk PHP tidak atau belum mendukung realtime database API.

Bagaimana cara kerja Firebase?

Cara kerja Firebase Setelah data disimpan di drive lokal, Firebase akan mengirim salinan ke server cloud sehingga kedua versi menjadi konsisten. Jadi cloud akan direplikasi secara lokal. Server-side developer bisa melakukan komunikasi dengan software milik klien yang dijalankan dengan menulis data ke cloud Firebase.

Firebase digunakan untuk apa?

Firebase Realtime Database adalah database NoSQL yang di-hosting di cloud dan dapat digunakan untuk menyimpan dan menyinkronkan data antarpengguna secara real time.

Apakah Firebase menggunakan api?

Firebase memiliki API intuitif yang dikemas dalam 1 SDK, sehingga dapat membantu Anda mengembangkan aplikasi berkualitas tinggi dengan cepat. Firebase juga menyediakan banyak fitur yang dapat digunakan untuk memperluas basis pengguna dan menghasilkan lebih banyak uang.

Apakah database Firebase gratis?

Firebase sendiri bisa digunakan secara gratis dengan 2 layanan unggulannya yaitu Spark, Blaze, dan Flame.