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:
- Buat Project Firebase
- Setting Rules Firebase
- Generate API Key Firebase
- Install New Laravel project
- Install Package
- Buat Controller
- 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.
Kemudian, di halaman berikutnya, buat database baru. Klik create project
Tunggu beberapa saat, karena memakan waktu load sedikit lebih lama. Tunggu sampai dilempar ke halaman Dashboard Firebase.
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.
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.
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
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.
Feature Matrix package:
Feature
|
PHP
|
Node.js
|
Java
|
Python
|
Go
|
✅
|
✅
|
✅
|
✅
|
✅
|
|
✅
|
✅
|
✅
|
✅
|
✅
|
|
✅*
|
✅
|
✅
|
✅*
|
✅
|
|
✅
|
✅
|
✅
|
✅
|
✅
|
|
✅
|
|||||
✅
|
✅
|
✅
|
✅
|
✅
|
|
✅
|
✅
|
✅
|
✅
|
✅
|
|
#
|
✅
|
✅
|
✅
|
✅
|
* 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.
No comments:
Post a Comment