(PHP 5 >= 5.3.0, PHP 7, PHP 8)
İsim alanı nedir? En dar tanımıyla, öğeleri sarmalamanın bir yoludur. Çoğu bakımdan bu soyut bir kavram gibi görünebilir. Örneğin, bir işletim sisteminin dizinleri bir birleriyle ilgili dosyaları gruplamaya yarar ve içerdiği dosyalar için bir isim alanı görevi yapar. Daha belirgin bir örnek olarak, /home/ali
ve /home/veli
dizinlerinde mesela.txt
adında birer dosya bulunduğunu varsayalım. /home/ali
dizinindeki dosyaya dizin dışından erişmek istersek dosyanın önüne dizin ayracı ile dizin adını yerleştiririz. Programcılık dünyasındaki isim alanlarına da aynı kurallar uygulanır.
PHP dünyasında isim alanları, kütüphane ve uygulama yazarlarının aşağıdaki gibi sınıflar ve işlevler gibi yeniden kullanılabilir elemanları oluşturken karşılaştıkları iki soruna çözüm getirmek amacıyla tasarlanmıştır:
PHP isim alanları birbirleriyle ilişkili sınıflar, arayüzler, sabitler ve işlevleri gruplamak için bir yol sunar. PHP'deki isim alanı söz dizimi için bir örnek:
Örnek 1 - İsim alanı söz dizimi örneği
<?php
namespace isim\alanım; // "İsim Alanlarının Tanımlanması" bölümüne bakınız
class Sınıfım {}
function işlevim() {}
const SABİTİM = 1;
$a = new Sınıfım;
$c = new \isim\alanım\Sınıfım; // "Küresel Etki Alanı" bölümüne bakınız
$a = strlen('selam'); // "İsim alanlarının kullanımı: Son çare olarak
Bilginize: İsim alanı isimleri harf büyüklüğüne duyarlıdır.
Bilginize:
İsim alanı ismi olarak
PHP
vePHP\Classes
gibi bu isimle başlayan bileşik isimler dahili dil kullanımına ayrılmış olup kullanıcı yazılımlarında kullanılmamalıdır.