L3 Info : PHP et Applications Web
 
◃  Ch. 8 Extra ball !  ▹
 

Classes et Namespaces

  • 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.