Bu yazımda sizlere veritabanı yapılandırma konusundan bahsedeceğim. Ancak projemiz taşınabilirliği adına sqlite kullanmayı planlıyorum. Öncelikle sqlite veritabanı oluşturarak işlemlerimize başlayalım.
DB Browser for SQLite programını indirerek bir veritabanı oluşturalım. Programı indirdiğinizi ve kurduğunuzu farz ediyorum. DB oluşturmak için New Database seçeneğine tıklıyoruz. Bize db dosyasının nere oluşturulacağını soruyor tabiki. Bunun için projemizde application klasörüne bir database klasörü açalım.
Çalışmayı c9.io üzerinden yapmaktayım projeyi https://ide.c9.io/halityurttas/codeigniter-v3-ders adresinden inceleyebilir ve indirebilirsiniz. Ben db yi lokal bir klasöre oluşturup yükleyeceğim.
Database oluşturulduğunda size tablo adı soracak otomatikman, isterseniz yine ekleyebilirsiniz. Aşağıda ki resimde ki gibi tablomuzu ekleyelim.
Basitçe bir telefon defteri ile işe başlayalım. Ana ekrandan browse data sekmesine gelip açılır kutudan telefon_defteri seçeneğini seçin ve new records butonuna tıklayarak bir kaç kayıt girin. Unutmayın ana ekranda ki Write Changes butonuna basarak kayıtları db ye yazmamız lazım.
Şimdi application/config/database.php dosyasını açıp ayarlarımızı yapalım.
hostname değerini boş bırakıyoruz,
datatabase değerini şu şekilde ayarlıyoruz (buradaki ciders.db sizin db nin adı) APPPATH . ‘/database/ciders.db’
dbdriver değerine de sqlite3 yazıyoruz
Artık bağlatımız hazır ancak tavsiye edeceğim bir ayar var onu da yapalım. Config klasöründe ki autoload.php dosyasını açalım ve içerisinde $autoload[‘libraries’] kısmını bulup array ın içine ‘database’ ekleyelim. Artık veritabanı bağlantımız tamamdır.
Gelelim hemen bir model oluşturup ne var ne yok görmeye.models klasörünü açıp içine Telefon_defteri_model.php ekleyelim. Bu arada ekran görüntülerine aldanmayın dosya adlarının ilk harfi büyük olmalı! Düzelttim projede de öyle.
Şimdilik tek fonksiyon yeterli bizim için. Gördüğünüz gibi CI_Model den gelen db nesnesinin get yöntemi ile tablomuzu okutup sonucunu döndürmüş olduk. Bu sonucu inceleyecek bir kontrollere ihtiyacımız var. controllers klasörüne Telefon_defteri.php dosyasını oluşturalım.
Dosyamızın içerisinde index fonksiyonu olmalı bu varsayılan action olarak olması gereken bir fonksiyon. Aşağıda ki gibi önce modelimizi alacağız sonra da ekrana bastıracak kodu yazacağız.
Geldik olayın izahatına. index fonksiyonu içinde load ile modeli yükletiyoruz. Sonra aynı model adıyla içindeki getAll fonksiyonunu çağırıp verileri çekiyoruz. var_dump bize verinin dökümünü veriyor.
/index.php/telefon_defteri adresini çağırırsanız aşağıda ki gibi bir görüntü elde etmeniz gerek.
Bu resmi görüyorsanız herşey yolunda demektir. Göremiyorsanız şunu deneyin derim, hemen aşağıda tekrar vereceğim proje adresine girip kodlarımızı karşılaştırın. Hatta projeyi komple indirmeniz dahi mümkün.
https://ide.c9.io/halityurttas/codeigniter-v3-ders
Bir sonraki dersimiz de verileri view ile listeleme yeni kayıt düzelt ve sil gibi işlemlere devam edeceğiz.
Esenlikle…
emeğinize sağlık