D�finition des espaces de noms
Bien que du code PHP valide puisse �tre contenu dans un espace de noms, seuls trois types de code peuvent �tre affect�s par les espaces de noms : les classes, 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.