Merhaba Webkolog takipçileri, bugün sizlere PHP projelerimizde en sık başvurduğumuz fakat mantıklarını karıştırmaya en müsait olan üç temel fonksiyondan bahsedeceğim: isset(), empty() ve is_null().
Yıllardır web geliştirme yaparken formlardan gelen verileri doğrulamak veya dinamik dizilerle çalışırken hataların önüne geçmek için bu yapıları sürekli kullanıyorum. Ancak çoğu zaman hangi senaryoda hangisinin tercih edilmesi gerektiği tam olarak bilinmeyebiliyor. Bu yazımda, kendi projelerimde de sıklıkla dikkat ettiğim detaylarla bu üç fonksiyonun çalışma prensiplerini ve aralarındaki farkları adım adım inceliyoruz.
1. isset() Fonksiyonu Nedir?
isset() kontrolü, tanımladığımız bir değişkenin bellekte var olup olmadığını ve değerinin NULL'dan farklı olup olmadığını denetler. Eğer değişken oluşturulmuşsa ve içinde NULL dışında herhangi bir değer varsa sonuç TRUE döner.
Burada dikkat etmemiz gereken en önemli husus şudur: Değişkenin içinin boş bir metin (""), sıfır (0) veya FALSE olması isset() için fark etmez. Değişken tanımlı olduğu sürece TRUE yanıtını alırsınız.
2. empty() Fonksiyonu Nedir?
empty() fonksiyonu adından da anlaşılacağı üzere verilen değişkenin "boş" kabul edilip edilmediğini inceler. PHP mantığında bazı değerler içerik bakımından boş sayılır.
Örneğin; boş metin (""), tamsayı sıfır (0), metinsel sıfır ("0"), NULL, FALSE veya boş bir dizi (array()) empty() süzgecinden geçtiğinde TRUE sonucunu üretir. Tanımlanmamış bir değişkeni empty() ile sorguladığınızda da herhangi bir uyarı hatası almadan TRUE döner.
3. is_null() Fonksiyonu Nedir?
is_null() fonksiyonu ise doğrudan bir değişkenin değerinin NULL olup olmadığını sınar. Yalnızca veri NULL ise TRUE sonucunu verir.
Fakat is_null() fonksiyonunu kullanırken dikkatli olmalıyız: Eğer henüz hiç tanımlanmamış bir değişkeni is_null() parametresine verirseniz, PHP "Undefined variable" (Tanımsız Değişken) uyarısı verecektir. Bu durum isset() ve empty() fonksiyonlarından ayrılan en belirgin farktır.
Farkları Tek Bir Bakışta Özetleyelim
Geliştirdiğim sistemlerde hangi fonksiyonun ne yanıt verdiğini karıştırmamak adına aklımda tuttuğum temel mantık şu şekildedir:
isset($var): Değişken tanımlı mı ve NULL değil mi? (Tanımsız değişkenlerde hata vermez, FALSE döner)
empty($var): Değişkenin içi boş mu veya değersiz mi? (Tanımsız değişkenlerde hata vermez, TRUE döner)
is_null($var): Değişkenin değeri tam olarak NULL mu? (Tanımsız değişkenlerde PHP uyarısı fırlatır)
Projelerinizde form kontrolleri yaparken veya veritabanından gelen verileri işlerken bu üç fonksiyonun sunduğu davranış biçimlerini bilmek, istemeden oluşabilecek mantık hatalarının önüne geçecektir.
Umarım hazırladığım bu rehber kodlama süreçlerinizde işinize yarar. Takıldığınız bir nokta veya eklemek istediğiniz bir detay olursa yorumlar kısmından bana iletebilirsiniz.
Hepinize sağlıklı, mutlu ve huzurlu günler dilerim!
Webkolog'u takipte kalın!
Hiç yorum yok:
Yorum Gönder