Php'de sabitler içerisinde sabit kullanma.Sabit içerisinde nasıl sabit kullanılır? Tüm detayları ve dikkat edilmesi gereken kurallar.
Sabit İçerisinde Sabit Tanımlama
Bazen yazılımlarımızda tanımladığımız sabitleri başka sabitlerin içine atma gereksinimi duyarız.Örneğin bir yazılımımızda veri tabanı bağlantısını sabitlerle oluşturduğumuzu varsayarsak oluşturduğumunz sabiti bir başka sabitin içerisinde atma ihtiyacı duyabiliriz veya karmaşık bir yazılıma sahibizdir yine aynı şekilde böyle bir ihtiyacımız olabilir.Bu gibi durumlarda ben define() komutunu öneriyorum const komutuda sorunsuz bir şekilde çalışıyor fakat const'da bildiğiniz gibi dışarıdan bir değişkeni sabitin içerisine dahil edemiyoruz.O yüzden olası bir hataya mahal vermemek için define() komutunu öneriyorum.Şimdi örneklerimize geçelim;
[<?php
define("ISIM","Ahmet");
define("GelenIsim",ISIM);
echo GelenIsim;
?>]
Yukarıdaki örnekte gördüğünüz gibi bir sabit oluşturduk ve sabitimizin ismini "ISIM" olarak adlandırdık içine ise "Ahmet" adında bir veri depoladık.Daha sonra alt satırda bir sabit daha oluşturduk ve sabitimizin ismini "GelenIsim" olarak adlandırdık ve içeriğine ise bir önceki sabitimizin ismini girdik "ISIM" şeklinde daha sonra oluşturduğumuz son sabitimizi ekranımıza çağırdığımız zaman bize ekran çıktısı olarak "Ahmet" değerini vermiş oldu.Fakat burada dikkat edilmesi gereken çok çok önemli bir nokta var dikkat ettiyseniz ikinci sabitimizde "GelenIsim" adlı sabitimizin değerini girdiğimizde yani "ISIM" adında bir önceki sabitimizin ismin girdiğimizde tırnakları kullanmadık.Eğer tırnak kullanacak olsaydık bize "Ahmet" değerini değilde ekranımıza "ISIM" yazacaktı.Çünkü tırnakları kullandığımızda biz demiş oluyoruz ki "GelenIsim" adındaki sabitimizin değeri "ISIM" olacaktır demiş olurduk buda bir hatadır.Aşşağıdaki örnekte tırnaklı şeklinide bırakıyorum hata olduğunu artık öğrendiniz.
[<?php
define("ISIM","Ahmet");
define("GelenIsim","ISIM");//Hatalı kullanım "ISIM" sabit ismini tırnaklar içersinde yazdığımız için.
echo GelenIsim;
?>]
Şimdide örnek olarak sabitimize bir değişkenden değer atalım ve sabitlerimizde çağıralım;
[<?php
$isim = "Ahmet";
define("ISIM",$isim);
define("GelenIsim",ISIM);
echo GelenIsim;
?>]
Yukarıdaki örneğimizde sorunsuz bir şekilde çalışacaktır çünkü define() sabitimizde değişkenden değer alınıp işlenebiliyordu.Fakat aynı şeyi const için söyleyemeyiz const sabitimiz dışarıdan bir değişkeni alamaz ve işleyemez.Şimdi karışık bir örnek yapalım const ile define karıştıralım;
[<?php
const ADINIZ = "Ahmet";
define("ISIM",ADINIZ);
define("GelenIsim",ISIM);
echo GelenIsim;
?>]
Yukarıdaki örnekte const ile bir sabit oluşturduk ve define() komutu ile sorunsuz bir şekilde içeriğimizi çekmiş olduk şimdi tam tersini yapalım define() ile oluşturup const ile çekelim.
[<?php
define("ISIM","Ahmet");
const GELENISIM = ISIM;
echo GELENISIM;
?>]
Yukarıdaki örneğimizdede define() ile oluşturduğumuz sabiti const ile ekranımıza çektik.
[<?php
$isim = "Ahmet";
define("ISIM",$isim);
define("GELENISIM",ISIM);
const DEGISKENDENGELEN = GELENISIM;
echo DEGISKENDENGELEN;
?>]
Yukarıdaki örneğimizde bir değişken oluşturduk ve oluşturduğumuz değişkeni define() sabiti içerisinde değer olarak kullandık daha sonra tekarar bir define() sabiti oluşturduk ve içerine önceki sabitimizin içeriğini atadık ve son olarak oluşturduğumuz const ile oluşturduğumuz değişkenimizi seslemiş olduk.Kısacası const ile değişkeni ancak bu şekilde kullanabiliriz biraz zahmetli ve uzun bir yöntem olsada gerektiği zaman kullanmaktan çekinmeyiniz.
COMMENTS