# Espace de noms

> Mécanisme PHP qui regroupe des classes, fonctions et constantes sous un préfixe logique, évitant les conflits de noms entre bibliothèques différentes.

- Auteur : Clément Hadrot
- Publié le : 2026-09-25
- Mis à jour le : 2026-09-25
- URL : https://wpmoderne.dev.wordpress-developpement.fr/lexique/espace-de-noms-php/

Deux personnes qui portent exactement le même nom de famille dans deux villages différents ne posent aucun problème tant qu'on précise le village d'origine : l'espace de noms fonctionne de la même façon en PHP, en préfixant les identifiants pour lever toute ambiguïté.

## Un vrai enjeu dans l'écosystème des plugins WordPress

WordPress ne recourt lui-même que très peu aux espaces de noms dans son cœur historique, préférant un préfixe textuel devant chaque nom de fonction (comme `wp_`). Un plugin moderne bien écrit, lui, utilise volontiers un espace de noms dédié pour éviter tout conflit avec un autre plugin qui définirait, par hasard, une classe du même nom générique.

## Exemple

```
namespace MonAgence\Reservation;

class GestionnaireCreneaux
{
    public function disponibles(): array
    {
        return [];
    }
}

// Utilisation ailleurs dans le projet
use MonAgence\Reservation\GestionnaireCreneaux;

$gestionnaire = new GestionnaireCreneaux();
```

## Bon à savoir

- L'instruction `use` importe un espace de noms pour éviter d'écrire son chemin complet à chaque utilisation dans le fichier.
- Un antislash en préfixe (`\DateTime`) force PHP à chercher la classe dans l'espace de noms global, utile depuis l'intérieur d'un espace de noms personnalisé pour référencer une classe native du langage.
- L'espace de noms d'une classe doit correspondre à l'arborescence de dossiers déclarée dans l'autochargement PSR-4 de Composer, sous peine d'erreur « Class not found » à l'exécution.
