Sabitler
İçindekiler
Bir sabit basit bir değerin betimleyicisidir (ismidir). İsminden de
anlaşılacağı gibi, betiğin çalışması sırasında bu değer değiştirilemez
(aslında birer sabit olmayan sihirli sabitler
hariç). Sabitler harf büyüklüğüne duyarlıdır.
Geleneksel olarak, sabit isimleri daima büyük harfle yazılır.
Bilginize:
PHP 8.0.0'dan önce, define() işlevi kullanılarak
tanımlanan sabitler harf büyüklüğüne duyarsız olabilir.
Bir sabite verilen isim PHP'de varolan diğer tüm isimlerle aynı
kurallara tabidir. Geçerli bir sabit ismi bir harfle ya da alt çizgi imi
ile başlar, herhangi bir sayıda harf, rakam ya da alt çizgi ile
devam eder. Bir sabit ismi düzenli ifade olarak, şu şekilde ifade
edilebilir:
^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$
Geçersiz ismleri ve PHP kullanımına ayrılmış isimleri
define() işlevi ile tanımlamak mümkünse de bunların
değeri sadece constant() işlevi ile elde edilebilir.
Ancak, bu tavsiye edilmez.
Örnek 1 - Geçerli ve geçersiz sabit isimleri
<?php
// Geçerli sabit isimleri
define("FOO", "bir şey");
define("FOO2", "başka bir şey");
define("FOO_BAR", "daha başka bir şey");
// Geçersiz sabit isimleri
define("2FOO", "bir şey");
// Bu geçerli olmasına rağmen kullanmaktan kaçınılmalıdır.
// PHP bir gün betiğinizin çalışmasını bozacak bir sihirli
// sabit kullanmaya karar verebilir.
define("__FOO__", "bir şey");
?>
Bilginize:
Burada bir harften söz ettiğimiz zaman, ASCII a-Z, A-Z ve karakter kodu
128-255 (0x80-0xff) arasındaki bir karakterden bahsetmiş
oluyoruz.
Süper küresellerde
olduğu gibi, sabitlerin etki alanı da küreseldir. Sabitlere etki alanı
dikkate alınmaksızın bir komut dosyasının herhangi bir yerinden
erişilebilir."Etki alanı" hakkında daha ayrıntılı bilgi edinmek için
Değişken Etki Alanı
bölümünü okuyunuz.
Bilginize:
PHP 7.4.0'dan itibaren, bir sınıf sabitinin görünürlüğü protected
veya private olarak bildirebilir, bu da onları yalnızca tanımlandığı
sınıfın hiyerarşik etki alanında kullanılabilir hale getirir.