Softmush.com, teknoloji, yazılım ve dijital dünyaya dair derinlemesine içeriklerle bilgiye ulaşmanın güvenilir adresi. - Softmush.com
“ Söz konusu olan vatansa, gerisi teferruat. ”
Mustafa K. Atatürk
PHP Dilinde Sabitler Kullanımı

PHP Dilinde Sabitler Kullanımı

PHP'de sabitler, bir betik yürütme süresince değeri değiştirilemeyen veri depolama birimleridir. Tanımlandıkları andan itibaren, değerleri sabit kalır ve genellikle yapılandırma ayarları, matematiksel sabitler veya değişmez metin dizileri gibi global olarak erişilmesi gereken veriler için kullanılırlar. Sabitler, kodun okunabilirliğini artırır ve yanlışlıkla değerlerinin değiştirilmesini engelleyerek hataları minimize eder.

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ğer true olarak ayarlanırsa, sabit adını büyük/küçük harf duyarsız yapar. Varsayılan değeri false'tur, yani sabit adları büyük/küçük harfe duyarlıdır. PHP 7.3'ten itibaren bu parametrenin true olarak 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. $GLOBALS sü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).

  • const anahtar 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() fonksiyonunun case_insensitive parametresini true olarak 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.

Yayınlanma Tarihi: 2025-10-13 14:47:36
Sonraki Haber

JavaScript Dilinde Koşullu İfadeler: `if` ve `else` Yapıları

JavaScript Makaleleri
JavaScript Dilinde Koşullu İfadeler: `if` ve `else` Yapıları

Yorum yap

Yorum yapabilmek için  giriş  yapmalısınız.

Yorumlar

Bu yazı hakkında henüz yorum yapılmamıştır.
× PHP Dilinde İstisnalar (Exceptions) Kullanımı
Bu ilginizi çekebilir

PHP Dilinde İstisnalar (Exceptions) Kullanımı

PHP programlamada, bir uygulamanın çalışma zamanında beklenmedik durumlarla karşılaşması...