L'espace de noms est déclaré en utilisant le mot clé namespace, devant être au tout début du fichier. Par exemple :
Exemple #1 Définition de l'espace de noms
<?php
namespace MyProject::DB;
const CONNECT_OK = 1;
class Connection { /* ... */ }
function connect() { /* ... */ }
?>
L'espace de noms peut contenir des classes, des constantes et des fonctions, mais pas de code libre.
La définition de l'espace de noms a pour conséquence ce qui suit :
Le nom de classe non-qualifié (i.e., nom ne contenant pas ::) est résolu au moment de l'exécution, en suivant cette procédure :
Le nom de la fonction non-qualifié (i.e. nom ne contenant pas ::) est recherché au moment de l'exécution tout d'abord dans l'espace de noms courant, puis, dans l'espace global.
La constante non-qualifiée est recherché tout d'abord dans l'espace de noms courant, puis, dans les constantes globales.