3 min read

Firebase - PHP Entegrasyon ve Kullanımı

Merhaba arkadaşlar kendi projem için çok fazla araştırdığım php ile firebase entegrasyonu konusunu uzun çabalarım sonra yabancı kaynaklardan buldum. Türkçe Hiç kaynak olmadığı için yazılımcı arkadaşlara bir nebze yardımcı olsun diye basit bir sekilde anlatımı yapma kararını aldım. Aşağıda sadece Veri çekme işlemlerini göstereceğim mantığı anladıktan sonra verdiğim örnek kodlardan bir fikir edinerek diğer işlemleri gerçekleştirebilirsiniz.

DİKKAT : Sorunsuz entegrasyon için PHP 7.0 + kullanılmalıdır. Aksi taktirde entegre ettiğimiz kreait dosyası çalışmayacaktır.

Dosyamıza gerekli dosyaları include etme

Firebase ile phpyi birbirine bağlamamız için yazılımcı bir ekip tarafından yazılan fonksiyonları kendi projemize dahil etmemiz gerek. Bunu kendi projenize eklemeniz için tıklayabilirsiniz kreait/firebase-php indir bunu vermemin sebebi içinde firebasein tüm özelliğinin bulunması fakat ben sadece database işlemlerini yaptığım için diğerlerinin kullanımını bilmiyorum. Kullanacağımız dosyları include  klasörü içine atacağız 
Kullanacağımız dosyalar şu şekilde ;

  •  vendor klasörü tamamı
  • composer.json
  • composer.lock

dosyaları aldıktan sonra db.php oluşturuyoruz. içine  

	require __DIR__.'/vendor/autoload.php';		use KreaitFirebaseFactory;	use KreaitFirebaseServiceAccount;		// This assumes that you have placed the Firebase credentials in the same directory	// as this PHP file.	$serviceAccount = ServiceAccount::fromJsonFile (__DIR__.'/FİREBASE_JSON_DOSYANIZ');		$firebase = (new Factory)	->withServiceAccount($serviceAccount)	// The following line is optional if the project id in your credentials file	// is identical to the subdomain of your Firebase project. If you need it,	// make sure to replace the URL with the URL of your project.	->withDatabaseUri('FİREBASE_LİNKİNİZ')	->create();		$database = $firebase->getDatabase();
  •  FİREBASE_LİNKİ : 
    Database > Realtime Database bölümüne girerek. Oluşturduğunuz json verisinin tam üstünde bulunan link bunu resim ile göstermeyeceğim.

FİREBASE_JSON_DOSYANIZ :


İlgili proje veritabanınızın proje ayarları bölümüne girin. Yeni Özel Anahtar oluştura tıklayıp json dosyasını indirin. ve include klasörüne atın. db.php alanına dosyanın ismini yazın.
 

 

Veri Çekme İşlemi

 Ben örnek sayfa olarak index.php oluşturdum. 
İlk olarak index.php dosyamızın en üstüne include içindeki db.php dosyamızı ekleyelim. Aşağıdaki gibi ;

        
     

include("includes/db.php");

şuana kadar hata yapmadıysak veri tabanına bağlandık tek yapmamız gereken bir sorgu oluşturarak verileri çekmemiz. onuda küçük bir kod parçası ile yapacağız.
 

 

	$ref = "Kitaplar/";	$most = $database->getReference($ref)->orderByChild('BookView')->limitToLast(13)->getSnapshot()->getValue();	$data = $database->getReference($ref)->getSnapshot()->getValue();

Yukarıda ili sorgu çektim $most Kitap inceleme sayısına göre sondan 13 tanesini alıyoruz yani en çok okunan 13 kitap. $data sorgusunda ise kitaplar alanındaki tüm verileri çektim.

Verilerin yapısı data[indexNo][alanAdı] şeklinde

Foreach ile Veri Çekme

$mostReverse = array_reverse($most);foreach($mostReverse as $key => $data1){?><a href="watch/<?php echo seo($data1['KTName']). '/' .$data1['KTId']?>"><div class="card-movie"><img src="<?php echo $data1['KTImage'] ?>" data-toggle="tooltip" data-placement="bottom" title="<?php echo $data1['KTName'] ?>" style="width: 100%" height="220" alt="movimg" /></div></a><?php }?>

sondan 13 tane kitap listemizi aldığımız değişkeni ters çevirerek daha düzgün bir hal almasını sağlıyoruz. yeni değişkenimiz olan $mostReverse değişkenimiz foreach'ta içinde dönülerek $data1 değişkenimize atıyoruz. html tagları arasına php kodlarımızı açarak içinde echo $data1["DEĞİŞKEN_ADINIZ"] şeklinde verileri çektirip yazdırıyoruz.view rawfirebasephpquery hosted with ❤ by GitHub

Veri çekme kodu bu kadar. Aşağıda verdiğim örnekte aynı kodlar ve veri ekleme, veri silme ve veri günceleme kodlarıda olacak. yardımcı olabildiysem ne mutlu bana :)