İsim Alanlarının Tanımlanması
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
İsim alanları içinde her çeşit PHP kodu bulunabilirse de sadece şu tür
kod isim alanlarından etkilenir: Sınıflar (nitelikler ve soyutlama dahil),
arayüzler, işlevler ve sabitler.
İsim alanları, namespace
anahtar sözcüğü ile
bildirilirler. Bir isim alanını içeren bir dosyada isim alanı bütün
diğer kodlardan önce (ama bir
declare satırından önce değil)
dosyanın başlarında bildirilmelidir.
Örnek 1 - Tek bir isim alanı bildirimi
<?php
namespace Projem;
const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */ }
?>
Bilginize:
Tamamen nitelenmiş isimlere (yani, bir ters bölü ile başlayan isimlere)
isim alanı bildirimlerinde izin verilmez, çünkü böyle oluşumlar göreli isim
alanı ifadeleri olarak yorumlanır.
Bir isim alanı bildiriminden önce bulunmasına izin verilen tek oluşum,
kaynak dosyanın kodlamasının tanımlandığı
declare
deyimidir.
Bunun dışında, baştaki fazladan boşluklar da dahil hiçbir PHP-dışı kod,
bir isim alanı bildiriminden önce yer alamaz. Örnek:
Örnek 2 - Tek bir isim alanı bildirimi
<html>
<?php
namespace Sınıfım; // ölümcül hata - namespace, betikteki ilk deyim olmalıdır
?>
Diğer tüm PHP oluşumlarının tersine, isim alanının dosya sistemi içinde
parçalara bölünebilmesi için aynı isim alanı birden fazla dosyada
tanımlanabilir.