formDogrula (fdo) sınıfının 1.5 sürümüne dair yenilikler…
Web 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.
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
















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.
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.
@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…
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
Filtreleme ve gruplama tamda ihtiyacım olan şeylerdi, artık farklı yollarla çözmeye gerek kalmayacak. Süpersin hocam ellerine sağlık…