Le namespace :

En PHP, un namespace est une manière de regrouper des classes, des interfaces dans un espace de noms spécifique. Cela permet d'éviter les conflits de noms entre différentes parties d'une application et facilite la gestion des dépendances.

Exemple :

On organise nos classes dans des dossiers dans le dossier "classes".

On ajoute un "namespace" à la classe "Produit", afin d'en obtenir le chargement automatique lorsqu'un autoloader sera mis en place.

Cet ajout ce fait au début de la déclaration de classe.

Attention mettre en place le namespace sans un autoloader de classes n'annule pas l'utilisation des "require_once" vu précédemment.

Ensuite, lorsque le namespace est déclaré dans la classe on utilise un "use" dans le fichier dans lequel on souhaite instancier un objet de la classe "Produit"

On peut maintenant instancier un objet de la classe "Produit" dans le code.

On peut également pour éviter les conflits de classes utiliser les alias, dans ce cas, le "use" dans le fichier utilisant la classe devient :

On utilise alors l'alias pour mettre en place l'instanciation