
Biraz garip bir konu olacak ama evet bu anlatacağım konuda bir değişken konusu. Şimdi biz değişken oluştururken ilk önce dolar işaretini yazıp sonra kullara uygun olarak değişken adı belirliyorduk. Bu tarz belirlenen değişkenler sonradan değiştirilme özelliğine sahip olan dinamik değerde değişkenlerdir.
$veri = $_GET["makale"];
Yukarıda bir veri değişkeni var. Bu değişken gelen veriye göre içeriği değişecektir. Yani bu durumu dinamikliğini gösterir. Ya da bu koddan sonra $veri = 1; derseniz o zaman veri 1 değerini alacaktır. Yani sonradan değiştirilebilir durumda olmuş olacaktır.
Define, yukarıdaki tanımın tersine değiştirilemeyen bir değişken türüdür. Bu tür tanımlandıktan sonra kullanılacak olan yerde yanına dolar işareti getirilmeksizin kullanılır. Küçük bir örnek ile açıklamak gerekirse;
define("ibrahimcevruk", "ibrahim ÇEVRÜK"); echo ibrahimcevruk;
Yukarıda gördüğünüz gibi define fonksiyonu içinde 2 değer girdim. İlk değer değişkenimizin adı, ikincisi ise içeriğidir. Ekrana yazdırmak istediğimizde ise direk olarak değişkenin adını yazıyoruz. Dikkat ederseniz $ işaretini kullanmadık.
Define fonksiyonunda değişken tanımlarken Türkçe karakter kullanmıyoruz. Diğer değişken tanımlaması gibi bununda büyük/küçük harfe duyarlılığı vardır. Bu duyarlılık 3.bir parametre belirlemesi ile ortadan kaldırıla bilinir.
Define Sabit Değişkenine 3.Parametre Belirleyerek Büyük/Küçük Harf Duyarlılığını Ortadan Kaldırmak
İlk örneğimizi baz alacak olursak değişkenin bütün harfleri küçük yazılmış. O zaman ekrana yazdırmak için de küçük harfler ile yazmamız gerekmektedir. Şimdi örneğimizi büyük/küçük harf karışık yazalım ve bu hassasiyeti nasıl aşarız bunu görelim.
define("ibrahimCevruk", "ibrahim ÇEVRÜK", true); echo ibrahimcevruk;
Yukarıda gördüğünüz gibi değişkenin C harfi büyük yazılmış fakat yazdırılırken hepsi küçük yazılmış. Normalde hata vermesi gerekiyor ama 3.parametre de true değeri alarak; Büyük küçük harf duyarlılığı ortadan kaldırılmış oluyor.
Sabit Değişkenlerin Koşul Belirtirken Kullanılması
Bildiğiniz gibi koşul belirtmek için if/else/else if komutlarını kullanıyoruz. Peki define ile oluşturduğumuz değişkenleri nasıl kontrol edebiliriz?
Bu sorunun cevabını normal değişkenlerde olduğu gibidir. Kullanım konusunda hiçbir fark yoktur. Örnek verecek olursak;
define("ibrahimCevruk", "ibrahim ÇEVRÜK", true); if(ibrahimcevruk == ""){ echo "Bu değişken boş!"; }
Ya da şöyle bir örnek verebiliriz
define("ibrahimCevruk", "ibrahim ÇEVRÜK", true); if(ibrahimcevruk == "ibrahim ÇEVRÜK"){ echo "Egoist Pislik Gitmişte Adını Yazmış"; }
Yukarıdaki gibi kullanabiliriz. Yani diğer değişkenlerde yapılan koşul belirtme tanımlamalarından bir farkı yoktur. Sadece dolar işareti almadığından farklı bir kullanım olarak görülmektedir. Şimdi gelelim farklı bir konuya. Ya bu değişken tanımlanmamışsa o zaman nasıl kontrol edilir?
Sabit Değişkenin Tanımlanıp Tanımlanmadığını Öğrenmek
Sabitlerin var olum olmadığını defined() fonksiyonu ile kontrol ediyoruz. Yani sabit tanımladığımız define() fonksiyonunun sonuna sadece “d” harfi getiriyoruz. Böylece değişkenin var olup olmadığını kontrol etmiş oluyoruz. Hemen bir örnek vermek gerekirse;
define("ibrahim", "Bu Benim Adım"); if(defined("cevruk")){ echo "cevruk; Bu adamın soyadı Adamım"; }else{ echo "Böyle bir sabit değişken yok!"; }
Yukarıdaki örnek her ne kadar saçma olsa da kullanımı bu şekildedir. Defined fonksiyonu içine kontrol edeceğiniz sabitin adını yazmanız yeterli olacaktır.