Les espaces de noms
PHP Manual

Définition des espaces de noms

(PHP 5 >= 5.3.0, PHP 7)

Bien que du code PHP valide puisse être contenu dans un espace de noms, seuls les types de code suivants peuvent être affectés par les espaces de noms : les classes (incluants les abstraites et les traits), les interfaces, les fonctions et les constantes.

Les espaces de noms sont déclarés avec le mot-clé namespace. Un fichier contenant un espace de noms doit déclarer l'espace au début du fichier, avant tout autre code, avec une seule exception : le mot clé declare.

Exemple #1 Déclaration d'un espace de noms

<?php
namespace MonProjet;

const 
CONNEXION_OK 1;
class 
Connexion /* ... */ }
function 
connecte() { /* ... */  }

?>
Le seul élément autorisé avant la déclaration d'espace de noms est la commande declare, pour définir l'encodage du fichier source. De plus, aucun code non-PHP ne peut précéder la déclaration d'espace de noms, y compris des espaces :

Exemple #2 Erreur de déclaration d'un espace de noms

<html>
<?php
namespace MonProjet// erreur fatale : l'espace de noms doit être le premier élément du script
?>

De plus, contrairement à d'autres structures PHP, le même espace de noms peut être défini dans plusieurs fichiers, ce qui permet de scinder le contenu d'un espace de noms sur plusieurs fichiers.


Les espaces de noms
PHP Manual