- Une classe peut être définie au sein d'un namespace :
<?php
namespace coursPHP;
class ClasseExemplePHP
{
public function method(): string {
return "Methode de ClasseExemplePHP situé dans le namespace : ". __NAMESPACE__;
}
}
?>
- Usage :
require "ClasseExemplePHP.php";
use coursPHP\ClasseExemplePHP;
$objet = new ClasseExemplePHP;
echo $objet->method();
- Exécution :
Methode de ClasseExemplePHP situé dans le namespace : coursPHP
- La constante magique
__NAMESPACE__
contient le nom du namespace courant.
- L'instruction
use
permet également d'établir des alias de classe :
use coursPHP\ClasseExemple as ClassExemple; // alias par défaut
use
ne dispense pas de charger en mémoire le code source des classes avec require ou include.
- Il est possible d'organiser hiérarchiquement les namespaces sous forme d'arborescence, dans ce cas l'identification d'un namespace pourra se faire de façon relative ou absolue comme dans un système de fichier.