Smarty içerisinde ezSql sınıfı kullanımı

önceki yazılarda smarty ve ezSql ile alakalı bilgiler verip nasıl kurulduğunu ve kullanım örneklerini yaptık . Bu yazımda ise smarty tema moturu içerisinde ezSql veritabanı sınıfının nasıl kullanılacağına bakacağız .

Smarty Nedir ?

Smarty Kurulumu Nasıl Gerçekleştirilir ?

ezSql nedir ?

 

Önceki yazılarımda smarty ve ezSql classlarını ayrı ayrı anlattığım için kurulumu yapacağınızı varsayıyorum .

 

PHP smarty kurulumu

Önceki yazımda smarty framework’ün ne olduğunu açıklamıştım . Bu yazımda ise smarty framework kurulumu ve ilk örneğimizi yapacağız .

Buradaki linkten smarty framework son sürümünü indirelim ve zip içerisinden web sunucumuza yada localhosta sadece libs klasörünü çıkartalım .

Ardından aşağıdaki gibi klasör ve dosya yapımızı oluşturalım .

cache
config
libs
templates
templates_c
index.php

Uyarı : Templates ve cache klasörleri yazma iznine sahip olmalıdır .

Ardından index.php sayfamızı açalım ve kodumuzu yazalım

 

Tema dosyamızı oluşturmamız gerekiyor . Bunun için templates klasörü altına index.tpl isimli bir dosya oluşturalım ve içerisine html ve smarty kodumuzu yazalım

Smarty ile ilk örneğimiz bu şekildedir . Kısaca açıklamak gerekirse ;

index.php dosyamızda smarty template ve cache klasörleri yollarını belirledir .
Ardından merhaba_dunya adında bir değişken tanımladık ve bu değişkene Merhaba Dünya yazısını atadık .
display fonksiyonu ile de değişkenimizi templates/index.tpl dosyamıza gönderdik . İlk örneğimiz burada son buldu .

Bundan sonraki yazımda php smarty ile veritabanı işlemlerine gözatacağız .

PHP smarty framework nedir ?

PHP ile kullanabileceğimiz birçok framework mevcuttur . Bir çoğu MVC mimarisine sahip framework’ lerdir . MVC ( model – view – controller ) mimarisi yazılımı html taglarını ve veritabanı işlemleri birbirinden ayıran yapıya sahiptir . Smarty ise sadece yazılımı html taglarından ayıran yapıdadır . Bu tip yapılara sahip framework’ lere tamplate engine denir .

MVC yapısına ait resmi aşağıda inceleyebilirsiniz .

mvc

Smarty açık kaynak kodlu php template motorudur . Ön tanımlı olarak hemen hemen tüm php hazır sistem fonksiyonlarını içerisinde barındırır . Öne çıkan birkaç özelliğini aşağıdaki gibi sıralayabiliriz .

  • Control flow, foreach
  • if, elseif, else gibi koşullu ifadeleri kullanabilme
  • Değişken oluşturabilme ve özelleştirme – Örnek {$variable|nl2br}
  • Hazır fonksiyonlar – Örnekler {html_select_date start_year=’-5′ end_year=’+5′}
  • Fonksiyonları kendi düzenleyecileri ile oluşturabilme imkanı / fonksiyonlar / çıkış filtreleri
  • Sayfaları önbelleğe alabilme

Sayfa önbellekleme yani cache özelliği kullanışlı ve kolaydır . Küçük bir kod ile kolayca cache özelliğini aktif edebiliriz .

Smarty yapısına ait kod aşağıdaki gibidir .

 


HTML yapısında kullanımı :

 

ezSQL | Veritabanı Sınıfı

Neden ezSQL?

Bu bana sorulduğunda her zaman verdiğim cevap pratikliği ve wordpress gibi bir devin kullanması. Yapımcısı Justin Vincent ise şöyle cevaplamış;

  • PHP sistemlerinizde veritabanınızı hızlı ve kolay bir şekilde yönetmek. ( mySQL / Oracle8/9 / InterBase/FireBird / PostgreSQL / MS-SQL / SQLite / SQLite c++)
  • Scriptinizin üstüne eklediğiniz tek bir php dosyasından oluşur ve standart veritabanı fonksiyonlarını hızlı ve kolay birşekilde kullanmanızı sağlar.
  • Sunucu ekstra yük bindirmemek için sorguları otomatik olarak önbelleğe alır ve kullanmanıza izin verir.
  • Çok rahat bir şekilde sorgularınızı debug etme imkanı sunar.
  • Çoğu ezSQL fonksiyonu Objects, Associative Arrays, veya Numerical Arrays olarak sonuç döndürür.
  • Proje geliştirme sürenize katlı sağlar, kodlarınızı hızlandırır ve optimizasyon sağlar.
  • Küçük bir sınıftır ve sisteminize yük bindirmez.

Kurulumu

  1. ezSQL sınıfının en son sürümünü buradan indirin
  2. Betiğinizin ana dizinine bir klasör oluşturun ve adını ezSQL yapın (Opsiyonel)
  3. İndirdiğiniz ezSQL klasörünün içindeki shared klasörüne girin ve ez_sql_core.php dosyasını 2. adımda oluşturduğunuz klasör içine atın.
  4. mySQL için ana dizinden mysql klasörüne girin ve içindeki ez_sql_mysql.php dosyasını 2.adımda oluşturduğunuz klasör içine atın.
  5. Bu iki dosyayı include ederek veritabanı bağlantınızı yapın (Aşağıdaki kodu inceleyin)

Yukarıdaki kodları mysqlBaglan.php olarak kayıt ederek veritabanı işlemi yapacağınız sayfalara dahil ederek kullanabilirsiniz.

ezSQL fonksiyonları

  1. $db->get_results — birden fazla satırdan oluşan sonuç kümesi döndürür
  2. $db->get_row — tek bir satır için sonuç kümesi getirir
  3. $db->get_col — tek bir sutündaki değeri getirir
  4. $db->get_var — tek bir satırdaki tek bir değeri getirir
  5. $db->query — veritabanına sorgu gönderir (INSERT, UPDATE, DELETE vb işlemler için)
  6. $db->debug — son sorguyu ve sonuç kümesini yazdırır
  7. $db->vardump — sonucu ve yapısını yazdırır
  8. $db->select — yeni bir veritabanı seçer
  9. $db->get_col_info — sutünların bilgilerini getirir
  10. $db->hide_errors — ezSQL hatalarını deaktif eder
  11. $db->show_errors — ezSQL hatalarını aktif eder
  12. $db->escape — Zararlı karakterleri temizler (addslashes gibi)
  13. $db = new db — Yeni veritabanı nesnesi oluşturur.

ezSQL değişkenleri

  1. $db->num_rows – Eğer varsa son sorgudaki dönen satır sayısını verir.
  2. $db->insert_id — INSERT sql sorgusu kullanıldığında oluşan AUTO_INCRIMENT değerini verir
  3. $db->rows_affected – Son yapılan INSERT, UPDATE veya DELETE sql sorgularında etkilenen satır sayısını verir.
  4. $db->num_queries – Scriptte çalıştırılan gerçek (önbellekte olmayan) sorgu sayısını verir.
  5. $db->debug_all – Eğer true değer alırsa (Bknz: $db->debug_all = true;) Scriptteki TÜM sorguları ve TÜM sonuçları verir.
  6. $db->cache_dir – Önbellekleme dosyalarının dizini.
  7. $db->cache_queries – Sorgu sonuçlarını önbelleğe almayı sağlar (Bknz: mysql/disk_cache_example.php)
  8. $db->cache_inserts – Girişleri önbelleğe alır (Bknz: mysql/disk_cache_example.php)
  9. $db->use_disk_cache – Disk önbellek sistemini kullanmayı sağlar (Bknz: mysql/disk_cache_example.php)
  10. $db->cache_timeout – Önbellek zaman aşım süresi (Bknz: mysql/disk_cache_example.php)

$db->query

Veritabanına sorgu göndermeye yarar, genelde INSERT,DELETE,UPDATE gibi işlemler için kullanılır.

Örnek

$db->get_var

$db->get_row

Veritabanından tek bir satır getirmeye yarar, örneğin bir üye’ye ait bilgileri almak istiyorsunuz.

$db->get_results

Bu kadar bilginin ezSQL’i kullanmaya başlamak için yeterli olacağını düşünüyorum, siz öyle düşünmüyorsanız burdan  bir bakın