namespace sözcüğü ve __NAMESPACE__ sabiti

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

PHP, geçerli isim alanı içindeki elemanlara mutlak olarak iki yolla erişimi destekler: sihirli __NAMESPACE__ sabiti ve namespace anahtar sözcüğü.

__NAMESPACE__ sabitinin değeri içinde bulunulan isim alanının adını içeren bir dizgedir. Küresel alandaki isim alansız kod için sabitin değeri boş dizgedir.

Örnek 1 - İsim alanlı kod, __NAMESPACE__ örneği

<?php
namespace Projem;

echo
'"', __NAMESPACE__, '"'; // "Projem" basar
?>

Örnek 2 - Küresel kod, __NAMESPACE__ örneği

<?php

echo '"', __NAMESPACE__, '"'; // "" basar
?>
__NAMESPACE__ sabiti dinamik olarak oluşturulan isimler için kullanışlıdır.

Örnek 3 - Dinamik isim oluşturmak için __NAMESPACE__ kullanımı

<?php
namespace Projem;

function
get($sınıfadı)
{
$a = __NAMESPACE__ . '\\' . $sınıfadı;
return new
$a;
}
?>

namespace sözcüğü, geçerli isim alanından veya bir alt isim alanından doğrudan doğruya bir eleman isteği yaparken kullanılabilir. Sınıflardaki self işlecinin isim alanlarındaki karşılığıdır.

Örnek 4 - Bir isim alanı içinde namespace işleci

<?php
namespace Projem;

use
fan\fin as fon; // bak: "İsim alanlarının kullanımı: İthal/Rumuz"

fin\fon(); // Projem\fin\fon() işlevini çağırır
namespace\fin\fon(); // Projem\fin\fon() işlevini çağırır

namespace\işlev(); // Projem\işlev() işlevini çağırır
namespace\alt\işlev(); // Projem\alt\işlev() işlevini çağırır
namespace\isim::yöntem(); // Projem\isim sınıfının statik "yöntem"

Örnek 5 - Küresel kod içinde namespace işleci

<?php

namespace\işlev
(); // işlev() işlevini çağırır
namespace\alt\işlev(); // alt\işlev() işlevini çağırır
namespace\isim::yöntem(); // isim sınıfının statik "yöntem" yöntemini çağırır
$a = new namespace\alt\isim(); // alt\isim sınıfını örnekler
$b = namespace\SABİT; // SABİT sabitinin değerini $b'ye atar
?>
To Top