Furkan Sandal

PHP ile REST API Servisinizi Yazmak: v1.0 GET

Selamlar, kendi uygulamanızı ve web servisinizi yazmak istediğinizde imdadınıza yetişecek yazımda sizlere en basit şekilde PHP ile REST API yazmayı anlatacağım.

Github’ta incelemek için tıklayın!

İhtiyaçlarımız:

Hadi Başlayalım: Veritabanımız

SQLite veritabanı kullanmayı tercih ediyorum. Kesinlikle veritabanı farketmez burada. Kolaylık olması açısından seçiyorum. Github’a attığımda içeri dışarı aktar problemi olmaması açısından.

DB Browser For SQLite uygulaması ile yeni veritabanı oluşturalım.

Oluşturur oluşturmaz tablo ekranı gelecek. Burada kullanacağımız bir tablo oluşturalım. id, isim, soyisim,yas ve cinsiyet koydum. id ve yas numeric diğerleri text olarak.

İçerisine 5 tane veri girdim. Veriyi görüntüle kısmından verileri düzenleyemeye girebilir kırmızı ok ile gösterdiğim alandan yeni veri giriş alanı açabilirsiniz.

Değişikleri kaydet diyip veritabanımızla işimizi tamamlayalım.

Hadi yazalım: PHP İşlemleri

PHP çalışan bir sistem kurduğunuzu düşünerek devam ediyorum 🙂 veritabanimiz.db dosyamızın olduğu dizine yeni bir PHP dosyası oluşturalım. İsmine veri_cek.php koydum. Ve dosyamızı düzenleyelim.

Öncelikle <?php ?> taglarımızın içerisine sırasıyla şu işlemleri yapalım.

<?php 
header('Content-type: application/json'); // Tarayıcıdan girdiğimizde JSON formatında görelim.

$db = new SQLite3('veritabanimiz.db'); //SQLite veritabanımıza bağlanalım.

$jsonDizisi = array(); // JSON Dizimizi Oluşturalım.

$sayac = 0; // İndis sayacımız

$results = $db->query('SELECT * FROM kisiler'); //Kişiler tablomuzdan tüm verileri çekelim.

while ($row = $results->fetchArray()) { // Satır satır verileri çektik.

    $jsonDizisi['kisiler'][$sayac]['id'] = $row["id"]; // json dizimizin kisiler -> indis -> id değerine çektiğimiz değeri atadık.
    $jsonDizisi['kisiler'][$sayac]['isim'] = $row["isim"]; // json dizimizin kisiler -> indis -> isim değerine çektiğimiz değeri atadık.
    $jsonDizisi['kisiler'][$sayac]['soyisim'] = $row["soyisim"]; // json dizimizin kisiler -> indis -> soyisim değerine çektiğimiz değeri atadık.
    $jsonDizisi['kisiler'][$sayac]['yas'] = $row["yas"]; // json dizimizin kisiler -> indis -> yas değerine çektiğimiz değeri atadık.
    $jsonDizisi['kisiler'][$sayac]['cinsiyet'] = $row["cinsiyet"]; // json dizimizin kisiler -> indis -> cinsiyet değerine çektiğimiz değeri atadık.

    $sayac++; // İndis sayacımızı arttırdık.
}

echo json_encode($jsonDizisi); //json dizimizi json formatına encode edip yazdırdık.
?>

Yazının başına bıraktığım linkten Github üzerinden inceleyebilirsiniz. Hadi kontrol edelim. https://furkansandal.com/github_projects/1-restapi-get/veri_cek.php adresinden inceleyebilirsiniz.

Görsellik ve okunabilirlik için jsonviewer.stack.hu adresine çıktımızı yapıştıralım ve kontrol edelim nasıl olmuş?

Ancak henüz RESTful API olmadı 🙂 Sadece verileri çekiyoruz. İleriki postlarda RESTful API’nin devamı için POST, DELETE, UPDATE üzerinede işlem yapacağız 🙂 Ama dikkat etmemiz gereken bir konu ise SQL Injection. İleriki kısımlarda parametre alacağımız için SQL Injection’a karşı dikkatli kod yazacağız 🙂

Exit mobile version