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

Namespaces

  • Les espaces de nommage PHP sont destinés à éviter les collisions de nommage entre code interne, externe, tiers,...
  • Ils offrent aussi la possibilité de raccourcir certains noms à rallonge
  • Usuellement les namespaces correspondent à des répertoires (même principe que pour les packages Java)
  • Déclaration d'un namespace (avant tout autre chose dans un fichier)
    <?php
        namespace coursPHP;
    
        const NBDIAPOS=200;
        class coursPHP { /* ... */ }
    ?>
  • Hiérarchisation des namespaces
    <?php
        namespace coursPHP\Lic2;
    
        const NBDIAPOS=123;
        class coursPHP { /* ... */ }
    
    on distingue ainsi les constantes coursPHP\NBDIAPOS et coursPHP\Lic2\NBDIAPOS, les classes coursPHP\coursPHP et coursPHP\Lic2\coursPHP définies dans les 2 namespaces.
  • Mécanisme également valable pour les fonctions