PHP Sihirli Sabitler (Magic Constants) Nedir?
PHP’de sihirli sabitler (magic constants), programın farklı bölümlerinde kullanılan, her çalıştırıldığında farklı sonuçlar döndürebilen özel sabitlerdir. Sihirli sabitler, normal sabitler gibi davranır, ancak bunlar PHP’nin çalışma zamanı sırasında belirli bir bağlama göre değer alır. PHP’de sihirli sabitler genellikle iki alt çizgi (__
) ile başlar ve sonlanır.
İşte en yaygın kullanılan sihirli sabitler:
1. __LINE__
Bu sabit, kullanıldığı satırın numarasını döndürür.
Örnek:
echo 'Bu kod satır numarası: ' . __LINE__; // 3 çıktısı verir
2. __FILE__
Bu sabit, dosyanın tam yolunu ve dosya adını döndürür.
Örnek:
echo 'Dosya adı: ' . __FILE__;
Bu sabit, PHP dosyasının hangi dizinde bulunduğunu tam olarak göstermek için kullanılır.
3. __DIR__
__DIR__
, dosyanın bulunduğu dizini döndürür. __FILE__
‘dan farkı, dosya adı olmadan sadece dizin yolunu göstermesidir.
Örnek:
echo 'Dosya dizini: ' . __DIR__;
4. __FUNCTION__
Bu sabit, fonksiyonun adını döndürür. Bir fonksiyonun içinde kullanıldığında, o fonksiyonun adını elde edebilirsiniz.
Örnek:
function testFunction() {
echo 'Fonksiyon adı: ' . __FUNCTION__;
}
testFunction(); // 'Fonksiyon adı: testFunction' çıktısı verir
5. __CLASS__
Bu sabit, sınıfın adını döndürür. Bir sınıfın içinde kullanıldığında, o sınıfın adını alabilirsiniz.
Örnek:
class TestClass {
function getClassName() {
echo 'Sınıf adı: ' . __CLASS__;
}
}
$test = new TestClass();
$test->getClassName(); // 'Sınıf adı: TestClass' çıktısı verir
6. __TRAIT__
__TRAIT__
sihirli sabiti, kullanılan trait’in adını döndürür. Traitler, PHP’de birden fazla sınıfa aynı anda özellik ve metod eklemenin yoludur.
Örnek:
trait TestTrait {
function getTraitName() {
echo 'Trait adı: ' . __TRAIT__;
}
}
class TestClass {
use TestTrait;
}
$test = new TestClass();
$test->getTraitName(); // 'Trait adı: TestTrait' çıktısı verir
7. __METHOD__
Bu sabit, metodun adını döndürür. Bir sınıf metodunun içinde kullanıldığında, o metodun adını elde edebilirsiniz.
Örnek:
class TestClass {
function testMethod() {
echo 'Metod adı: ' . __METHOD__;
}
}
$test = new TestClass();
$test->testMethod(); // 'Metod adı: TestClass::testMethod' çıktısı verir
8. __NAMESPACE__
Bu sabit, geçerli ad alanının (namespace) adını döndürür. Ad alanları, PHP’de sınıfları, fonksiyonları ve sabitleri gruplandırmak için kullanılır.
Örnek:
namespace TestNamespace;
echo 'Namespace adı: ' . __NAMESPACE__; // 'Namespace adı: TestNamespace' çıktısı verir
Share this content:
Yorum gönder