PHP, çalışan her betiğe çok sayıda öntanımlı sabit sağlar. Öte yandan, bu sabitlerin çoğu, çeşitli eklentiler tarafından tanımlandığından, sadece eklenti bir modül olarak veya PHP içinde derlenmişse kullanılabilir.
Değerleri kullanıldıkları yere göre değişen dokuz sihirli sabit vardır.
Örneğin, __LINE__
sabitinin değeri betiğin hangi
satırında kullanıldığına bağlıdır. Çalışma zamanında çözümlenen sırada
sabitlerin tersine "sihirli" sabitlerin tamamı derleme sırasında çözümlenir.
Bu özel sabitler büyük-küçük harf farkına duyarsızdır ve aşağıda
listelenmişlerdir:
İsim | Açıklama |
---|---|
__LINE__ |
Dosyada geçerli satırın numarası. |
__FILE__ |
Dosyanın veya sembolik bağdan çözümlenen dosyanın tam dosya yolu ve dosya ismi. include işlevi ile betiğe eklenen bir dosyanın içinde kullanıldığında betiğin ismini değil, eklenen dosyanın ismini içerir. |
__DIR__ |
Dosyanın bulurduğu dizin. Dahil edilen bir dosyanın içinde kullanıldığında dahil edilen dosyanın dizini döner. Bu dirname(__FILE__) işlevine eşdeğerder. Bu dizin isminin sonuna bir kök dizin olmadıkça bir bölü imi konmaz. |
__FUNCTION__ |
İşlev ismi veya anonim işlevler için {closure}. |
__CLASS__ |
Sınıf ismi. Bildirildiği isim alanını (Foo\Bar gibi) içerir. PHP 5.4 ve sonrasında __CLASS__ ayrıca kalıtsal özelliklerin içinde de çalışır. Böyle bir yöntemin içinde kullanıldığında __CLASS__, kalıtsal özelliğin içinde kullanıldığı sınıfın ismidir. |
__TRAIT__ |
Kalıtsal özellik ismi. Bildirildiği isim alanını (Foo\Bar gibi) içerir. |
__METHOD__ |
Yöntem ismi. |
__NAMESPACE__ |
Geçerli isim alanının adı. |
ClassName::class |
Tamamen nitelenmiş sınıf ismi. Ayrıca bkz, ::class. |
Ayrıca bakınız: get_class(), get_object_vars(), file_exists() ve function_exists().
Sürüm: | Açıklama |
---|---|
5.5.0 |
Sihirli sabit ::class eklendi.
|
5.4.0 |
__TRAIT__ sabiti eklendi
|
5.3.0 |
__DIR__ ve __NAMESPACE__
sabitleri eklendi
|
5.0.0 |
__METHOD__ sabiti eklendi
|
5.0.0 | Bu sürümden önce bazı sihirli sabitlerin değerleri daima küçük harfliydi. Şimdi bunların hepsi harf büyüklüğüne duyarlıdır (isimler bildirildikleri gibi içerilir). |
4.3.0 |
__FUNCTION__ ve __CLASS__
sabitleri eklendi
|
4.0.2 |
__FILE__ daima sembolik bağları çözümlenmiş
mutlak bir yol içerir, halbuki eski sürümlerde bazı durumlarda göreli
yollar da içerirdi.
|