Şimdi yükleniyor

PHP Sihirli Sabitler (Magic Constants) Nedir?

PHP 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