(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() { }
?>
Bir isim alanı bildiriminden önce bulunmasına izin verilen tek oluşum, kaynak dosyanın kodlamasının tanımlandığı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.
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.