PHP Dilinde Sabitler Kullanımı
Temel Sözdizimi (Syntax):
Sabitler, PHP'de `define()` fonksiyonu kullanılarak tanımlanır. Bu fonksiyon, bir sabitin adını, değerini ve isteğe bağlı olarak büyük/küçük harf duyarlılığını belirten üç argüman alır.
Detaylı Açıklama:
Yukarıdaki sözdizimindeki her bir parçanın anlamı aşağıda açıklanmıştır:
define()fonksiyonu, bir sabiti tanımlamak için kullanılır. Bu fonksiyon, çalışma zamanında (runtime) sabit tanımlamanıza olanak tanır ve koşullu tanımlamalar için uygundur.name: Sabitin adını belirten bir dize (string). Geleneksel olarak, sabit adları tamamen büyük harflerle yazılır ve kelimeler alt çizgi (_) ile ayrılır. Örneğin:VERITABANI_ADI.value: Sabite atanacak değeri belirten bir ifade. Bu değer, bir dize, bir tamsayı, bir ondalık sayı, bir boolean veya bir null değeri olabilir. PHP 7'den itibaren dizi (array) değerleri de atanabilir.case_insensitive(isteğe bağlı): Bu argüman bir boolean değeridir (true/false). Eğertrueolarak ayarlanırsa, sabit adını büyük/küçük harf duyarsız yapar. Varsayılan değerifalse'tur, yani sabit adları büyük/küçük harfe duyarlıdır. PHP 7.3'ten itibaren bu parametrenintrueolarak kullanılması tavsiye edilmez ve gelecekteki sürümlerde kaldırılabilir. Bu nedenle, sabitlerin genellikle büyük/küçük harfe duyarlı olması beklenir.
Pratik Kullanım Örnekleri:
Örnek 1: Temel Sabit Tanımlama ve Kullanımı
Bu örnek, basit bir sabit tanımlamasını ve değerine nasıl erişileceğini göstermektedir.
";
echo "Maksimum kullanıcı: " . MAX_KULLANICI_SAYISI . "
";
if (GELISTIRME_MODU) {
    echo "Uygulama geliştirme modunda çalışıyor.
";
}
?>Yukarıdaki kod çıktısı şu şekilde olacaktır:
Hoş geldiniz: softmush.com
Maksimum kullanıcı: 1000
Uygulama geliştirme modunda çalışıyor.Örnek 2: Büyük/Küçük Harf Duyarlılığı
Bu örnek, case_insensitive parametresinin varsayılan davranışını ve true olarak ayarlandığında nasıl farklılık gösterdiğini açıklar.
";  // "Bu bir duyarlı mesajdır." çıktısını verir
// echo sabit_mesaj; // Hata verir: Undefined constant sabit_mesaj
// Büyük/küçük harfe duyarsız (PHP 7.3+ ile önerilmez)
define("CASE_INSENSITIVE_MESAJ", "Bu duyarsız bir mesajdır.", true);
echo CASE_INSENSITIVE_MESAJ . "
"; // "Bu duyarsız bir mesajdır." çıktısını verir
echo case_insensitive_mesaj . "
"; // "Bu duyarsız bir mesajdır." çıktısını verir (küçük harfle de erişilebilir)
?>Yukarıdaki kod çıktısı (hata mesajı hariç) şu şekilde olacaktır:
Bu bir duyarlı mesajdır.
Bu duyarsız bir mesajdır.
Bu duyarsız bir mesajdır.Örnek 3: Sabitlerin Tanımlı Olup Olmadığını Kontrol Etme
Bir sabitin tanımlı olup olmadığını defined() fonksiyonu ile kontrol edebilirsiniz. Bu, potansiyel hataları önlemek için faydalıdır.
";
if (defined("SITE_URL")) {
    echo "SITE_URL sabiti tanımlı.
";
} else {
    echo "SITE_URL sabiti tanımlı değil.
";
}
?>Yukarıdaki kod çıktısı şu şekilde olacaktır:
Veritabanı Kullanıcısı: root
SITE_URL sabiti tanımlı değil.Önemli Notlar:
Sabitler bir kez tanımlandığında, değerleri değiştirilemez veya tanımsız hale getirilemez. Bu, değişkenlerden temel farkıdır.
Sabitler, herhangi bir kapsama alanından (global veya fonksiyon içi) doğrudan erişilebilir.
$GLOBALSsüper globali gibi özel erişim yöntemlerine ihtiyaç duymazlar.PHP'de sabit adları genellikle tamamen büyük harflerle yazılır ve kelimeler alt çizgi (
_) ile ayrılır. Bu, bir sabiti bir değişkenden veya diğer tanımlayıcılardan görsel olarak ayırmayı kolaylaştıran yaygın bir kuraldır (convention).constanahtar kelimesi ile tanımlanan sabitler,define()fonksiyonundan farklı olarak derleme zamanında tanımlanır ve sadece statik skopta (sınıf veya dosya seviyesinde) kullanılabilir.define()ise çalışma zamanında tanımlanabilir ve koşullu olarak da kullanılabilir.PHP 7.3 ve sonraki sürümlerinde
define()fonksiyonununcase_insensitiveparametresinitrueolarak kullanmaktan kaçınılması şiddetle tavsiye edilir. Gelecekteki PHP sürümlerinde bu özellik kaldırılabilir ve kodunuzun güncel kalmasını sağlamak için büyük/küçük harf duyarlı sabit adları kullanmak en iyi uygulamadır.
        
            
            
Yorum yap
Yorumlar