Kişisel Bir Web Günlüğü

formDogrula (fdo) sınıfının 1.5 sürümüne dair yenilikler…

formDogrulaWeb sayfalarındaki formları kolay, güvenli ve çok az kod yazarak doğrulatabilmemizi sağlayan formDogrula (fdo) sınıfının çok yakında 1.5 sürümünü yayınlayacağım. Şimdiye kadar 2500′den daha fazla download edilen bu PHP sınıfının yeni sürümündeki önemli değişiklikleri şimdiden haber vermek istiyorum.

1-) Yalnızca PHP 5

Yol haritasında (http://formdogrula.com/haritalar.html) 2010 yılından sonra formDogrula sınıfının yalnızca PHP 5 ile çalışacağını belirtmiştim. Bundan dolayı şu anki 1.2 sürümünden direkt 1.5 sürümüne atlayacağız. Hani olur da PHP 4 için ufak güncellemeler gerekebilir diye 1.3 ve 1.4 sürümleri arada bırakılmış olacak.

2-) Yeni kural tanımlama biçimi

Eskiden kuralları | (boru) sembolü ile birbirinden ayırarak ardı sıra tanımlıyorduk. Artık yeni sürümle birlikte kural_ekle() isimli bir metoda parametre girererek kurallar ekleyebileceğiz. Hangi form alanı için kuralları eklediğimizi ise ilk önce form_alani() metodu ile belirteceğiz. Metotlar arasında Metot Zincirleme mevcut.


    $fdo = new formDogrula();

    // formdan gelen e-posta alanı için kurallar
    $fdo->form_alani('eposta', 'E-posta adresi')
        ->kural_ekle('gerekli', 'dolu', 'eposta');

    $fdo->dogrulat();

3-) Verileri filtreleyebilme

v1.5 ile birlikte “filtreler (süzgeçler)” isimli bir özellik geliyor. Form elemanları, doğrulama işleminden önce veya sonra bu filtrelerden geçecekler. Böylece istenmeyen verileri otomatik olarak temizletmiş olacağız. Hem PHP’nin fonksiyonlarını (trim gibi) hem de kendi fonksiyonlarınızı filtre olarak kullanabileceksiniz.


    $fdo = new formDogrula();

    // formdan gelen parolayı filtrele ve doğrula
    $fdo->form_alani('parola', 'Parola')
        ->filtre_ilk('trim', 'htmlspecialchars', 'noXSS')
        ->kural_ekle('gerekli', 'dolu', 'ara_uzunluk[6,18]')
        ->filtre_son('md5');

    $fdo->dogrulat();

4-) İşlemleri gruplayabilme imkanı

Önceki sürümün en önemli sıkıntılardan birisiydi; bir kural (örneğin “gerekli” kuralı) her form alanı için tek tek tanımlanmak zorundaydı. Hal böyleyken boşu boşuna tekrara düşüyorduk. Fakat 1.5 sürümünde bütün form alanları için yapılmasını istediğimiz ortak işlemleri (filtreleme, doğrulama) gruplayabiliyor olacağız.


    $fdo = new formDogrula();

    // bütün fom alanları için filtreler ve kurallar
    $fdo->form_alani('*')
        ->filtre_ilk('trim', 'htmlspecialchars', 'noXSS')
        ->kural_ekle('gerekli', 'dolu');

    // sadece e-posta alanı için kurallar
    $fdo->form_alani('eposta', 'E-posta adresi')
        ->kural_ekle('eposta');

    // sadece parola alanı için filtreler ve kurallar
    $fdo->form_alani('parola', 'Parola')
        ->kural_ekle('ara_uzunluk[6,18]')
        ->filtre_son('md5');

    $fdo->dogrulat();

5-) Eklentilerin sadece gerektiğinde yüklenmesi

Önceki sürümlerde eklentiler klasöründe ne kadar eklenti dosyası varsa başlangıçta sayfaya yükleniyordu (require ediliyordu). Bu durumda, hiç kullanmadığımız eklenti dosyaları hafızaya gereksiz yere yüklenmiş oluyordu. Fakat v1.5 ile bir eklenti, yalnızca gereksinim duyulduğunda sayfaya yüklenmiş olacak.


4. maddedeki örnek için önceki sürümler ile 1.5 sürümü arasındaki fark

Sonuç…

formDogrula (fdo) sınıfının 1.5 sürümüyle birlikte daha iyi olacağını ve kullanımının artacağını düşünüyorum. Elbette sizlerin de düşüncelerini öğrenmek istiyorum. O yüzden yorumlarınızı gerek bu yazı altında gerekse Google Group tartışma alanında esirgemezseniz çok sevinirim ;)

16 Temmuz 2010 Programlama Bugün 2 kez, toplamda ise 6.072 kez okundu. , , , , , ,
5 yorum var
  1. Eline ve emeğine sağlık her yazdığın adına yakışır bir güzellikte olunca bu beni daha da mutlu ediyor.
    Paylaşımların için çok teşekkür ediyorum.
    Rica etsem Regex ile ilgili bir çalışma örneğini burada görebilir miyiz. Tekrar tşk. Çalışma hayatında başarılar dilerim.

  2. Selam,
    sinifini yeni gördüm, henüz test etmedim ama bir kac dosyanin üstünden bi gecdim, hata mesajlarini düzenlemek icin de bir metot kodlarsan 1.5′e bence iyi olur. öyle bir metot varsa ben daha görmemisimdir.
    1.5 ciksin o zaman onu inceleriz ;)
    kolay gelsin.

  3. @Yahya
    yorumun ve beğenin için teşekkürler. “Regex ile ilgili bir çalışma örneği” demişsin. Doğru mu anladım bilmiyorum ama sanırım kendi yazacağın bir regex şablonunu formDogrula sınıfı ile birlikte kullanmak istiyorsun. Eğer öyleyse bir “kullanıcı fonksiyonu” yazabilirsin. Bu fonksiyon içinde kendi yazacağın bir regex şablonu ile verileri doğrulatabilirsin. Daha fazla bilgi için önceden tanımlanmış kullanıcı fonksiyonlarını kullanma sayfasına bakmanı öneririm.

    @Kadir Özdemir
    Yorumun için teşekkürler. Doğrulama fonksiyonlarında tanımlı olan hata mesajlarını istediğin gibi değiştirebiliyorsun. Bunun için hata mesajları ve hata mesajlarını değiştirme sayfasına bakabilirsin. Tabi bahsettiğin şey buysa…

  4. Gerçekten çok yararlı bir proje fdo. Öncelikle tebrik ederim .Yeni sürümün için sana bir öneri de bulunmak istiyorum. Örneğin bir haber ekleme formu hazırladınız ve de haber görseli ekleyeceksiniz. Bununla ilgili direk kontrol aşamasında upload yapabilse hiç de fena olmaz. Ben bunun için ayrıetten kod yazıyorum. İyi çalışmalar

  5. Filtreleme ve gruplama tamda ihtiyacım olan şeylerdi, artık farklı yollarla çözmeye gerek kalmayacak. Süpersin hocam ellerine sağlık…

İçinizde kalmasın, siz de yorum yazın

Telif Hakkı © 2012 eburhan.com | Structure | XHTML