İsim çözünürlük kurallarının amaçları gereği bazı önemli tanımlar:
Fan gibi bir isim alanı ayracı içermeyen bir betimleyici.
Fan\Fin gibi bir isim alanı ayracı içeren bir betimleyici.
\Fan\Fin gibi bir isim alanı ayracı ile başlayan isim alanı ayraçlı bir betimleyici. namespace\Fan da tamamen nitelenmiş bir isimdir.
İsimler şu kurallara göre çözümlenir:
Örnek 1 - Örneklerle İsim Çözünürlüğü
<?php
namespace A;
use B\D, C\E as F;
// işlev çağrıları
fan(); // Varsa "A" isim alanında tanımlı "fan", yoksa küresel "fan"
\fan(); // Küresel alanda tanımlı "fan" çağrılır
my\fan(); // "A\my" isim alanında tanımlı "fan" çağrılır
F(); // Varsa "A" isim alanında tanımlı "F", yoksa küresel "F"
//sınıf adı çağrıları
new B(); // Varsa "A" isim alanında tanımlı "B" örneklenir
// Yoksa "A\B" sınıfı özdevinimli olarak yüklenmeye çalışılır
new D(); // ithal kuralları ile, "B" isim alanında tanımlı "D" örneklenir
// yoksa "B\D" sınıfı özdevinimli olarak yüklenmeye çalışılır
new F(); // ithal kuralları ile, "C" isim alanında tanımlı "E" örneklenir
// yoksa "C\E" sınıfı özdevinimli olarak yüklenmeye çalışılır
new \B(); // Varsa küresel alanda tanımlı "B" örneklenir
// yoksa "B" sınıfı özdevinimli olarak yüklenmeye çalışılır
new \D(); // Varsa küresel alanda tanımlı "D" örneklenir
// yoksa "D" sınıfı özdevinimli olarak yüklenmeye çalışılır
new \F(); // Varsa küresel alanda tanımlı "F" örneklenir
// yoksa "F" sınıfı özdevinimli olarak yüklenmeye çalışılır
// başka bir isim alanından duruk yöntem/isim alanı işlevleri
B\fan(); // "A\B" isim alanında tanımlı "fan" çağrılır
B::fan(); // "A" isim alanında tanımlı "B" sınıfının "fan" yöntemi çağrılır
// "A\B" sınıfı yoksa, "A\B" özdevinimli yüklenmeye çalışılır
D::fan(); // ithal kuralları ile, "B" isim alanında tanımlı "D" sınıfının
// "fan" yöntemi çağrılır; "B\D" sınıfı yoksa, "B\D"
// özdevinimli yüklenmeye çalışılır
\B\fan(); // "B" isim alanında tanımlı "fan" çağrılır
\B::fan(); // Küresel alandaki "B" sınıfının "fan" yöntemi çağrılır
// "B" sınıfı yoksa, "B" özdevinimli yüklenmeye çalışılır
// geçerli isim alanının duruk yöntemleri ve isim alanı işlevleri
A\B::fan(); // "A\A" isim alanında tanımlı "B" sınıfının "fan" yöntemi
// çağrılır; "A\A\B" sınıfı yoksa, "A\A\B" özdevinimli
// yüklenmeye çalışılır
\A\B::fan(); // "A\B" isim alanında tanımlı "B" sınıfının "fan" yöntemi
// çağrılır; "A\B" sınıfı yoksa, "A\B" özdevinimli yüklenmeye
// çalışılır
?>