İsim Alanları
PHP Manual

İsim alanları ve devingen dil özellikleri

PHP'nin isim alanları gerçeklenimi bir programlama dili olarak PHP'nin kendi devingen doğasından etkilenir. Örnek olarak aşağıdaki kodu isim alanlı koda dönüştürmek istersek:

Örnek 1 - Devingen olarak erişilen elemanlar

örnek1.php:

<?php
class sınıfadı
{
    function 
__construct()
    {
        echo 
__METHOD__,"\n";
    }
}
function 
işlevadı()
{
    echo 
__FUNCTION__,"\n";
}
const 
sabitadı "küresel";

$a 'sınıfadı';
$obj = new $a;                   // sınıfadı::__construct basar
$b 'işlevadı';
$b();                            // işlevadı basar
echo constant('sabitadı'), "\n"// küresel basar
?>
Tamamen nitelenmiş isim kullanmak gerekir (isim alanı önekli sınıf adı). Bir devingen sınıf, işlev veya sabit ismi içinde bir nitelenmiş isim ile tamamen nitelenmiş isim arasında bir fark olmadığından baştaki ters bölünün gereksiz oluşuna dikkat edin.

Örnek 2 - Devingen olarak erişilen isim alanlı elemanlar

<?php
namespace isimalanıadı;
class 
sınıfadı
{
    function 
__construct()
    {
        echo 
__METHOD__,"\n";
    }
}
function 
işlevadı()
{
    echo 
__FUNCTION__,"\n";
}
const 
sabitadı "isimalanlı";

include 
'örnek1.php';

$a 'sınıfadı';
$obj = new $a;                    // sınıfadı::__construct basar
$b 'işlevadı';
$b(); // prints funcname
echo constant('sabitadı'), "\n"// küresel basar

/* çift tırnakları kullanacaksanız, "\\isimalanıadı\\sınıfadı"
   biçiminde olmalıdır */
$a '\isimalanıadı\sınıfadı';
$obj = new $a// isimalanıadı\sınıfadı::__construct basar
$a 'isimalanıadı\sınıfadı';
$obj = new $a// bu da isimalanıadı\sınıfadı::__construct basar
$b 'isimalanıadı\işlevadı';
$b(); // isimalanıadı\işlevadı basar
$b '\isimalanıadı\işlevadı';
$b(); //bu da isimalanıadı\işlevadı basan
echo constant('\isimalanıadı\sabitadı'), "\n"// isimalanlı basar
echo constant('isimalanıadı\sabitadı'), "\n"// bu da isimalanlı basar
?>

SSS arasındaki Dizgelerdeki isim alanı adlarının öncelenmesi konusuna da bakmayı unutmayın.


İsim Alanları
PHP Manual