(PHP 5 >= 5.3.0, PHP 7, PHP 8)
  Utilisation des espaces de noms : importation et alias
  
  
   La capacité de faire référence à un nom absolu avec un alias ou en important
   un espace de noms est stratégique. C'est un avantage similaire aux liens 
   symboliques dans un système de fichiers.
  
  
   PHP peut aliaser(/importer) les constantes, fonctions, classes, interfaces,
   traits, énumérations et les espaces de noms.
  
  
   Un alias est créé avec l'opérateur use.
   Voici un exemple qui présente les cinq types d'importation :
   
    Exemple #1 importation et alias avec l'opérateur use
    
     <?php
namespace foo;
use My\Full\Classname as Another;
// Ceci est la même chose que use My\Full\NSname as NSname
use My\Full\NSname;
// importation d'une classe globale
use ArrayObject;
// importation d'une fonction
use function My\Full\functionName;
// alias d'une fonction
use function My\Full\functionName as func;
// importation d'une constante
use const My\Full\CONSTANT;
$obj = new namespace\Another; // instantie un objet de la classe foo\Another
$obj = new Another; // instantie un objet de la classe My\Full\Classname
NSname\subns\func(); // appelle la fonction My\Full\NSname\subns\func
$a = new ArrayObject(array(1)); // instantie un objet de la classe ArrayObject
// Sans l'instruction "use ArrayObject" nous aurions instantié un objet de la classe foo\ArrayObject
func(); // Appel la fonction My\Full\functionName
echo CONSTANT; // affiche la valeur de My\Full\CONSTANT
?>
     
    
   Notez que pour les noms avec chemin (les noms absolus contenant des 
   séparateurs d'espaces, tels que 
Foo\Bar, par comparaison avec
   les noms globaux, tels que 
FooBar, qui n'en contiennent pas), 
   l'antislash initial n'est pas nécessaire et n'est pas recommandé, car les noms importés
   doivent être absolus et ne sont pas résolus relativement à l'espace de noms courant.
  
  
   De plus, PHP supporte des raccourcis pratiques, tels que les commandes use multiples.
   
    Exemple #2 importation et alias multiples avec l'opérateur use
    
     <?php
use My\Full\Classname as Another, My\Full\NSname;
$obj = new Another; // instantie un objet de la classe My\Full\Classname
NSname\subns\func(); // appelle la fonction My\Full\NSname\subns\func
?>
     
    
  
  
   L'importation est réalisée à la compilation, ce qui fait que cela n'affecte pas
   les classes, fonctions et constantes dynamiques.
   
    Exemple #3 Importation et noms d'espaces dynamiques
    
     <?php
use My\Full\Classname as Another, My\Full\NSname;
$obj = new Another; // instantie un objet de la classe My\Full\Classname
$a = 'Another';
$obj = new $a;      // instantie un objet de la classe Another
?>
     
    
  
  
   De plus, l'importation n'affecte que les noms sans qualification. Les noms 
   absolus restent absolus, et inchangés par un import.
   
    Exemple #4 Importation et noms d'espaces absolus
    
     <?php
use My\Full\Classname as Another, My\Full\NSname;
$obj = new Another; // instantie un objet de la classe My\Full\Classname
$obj = new \Another; // instantie un objet de la classe Another
$obj = new Another\untruc; // instantie un objet de la classe My\Full\Classname\untruc
$obj = new \Another\untruc; // instantie un objet de la classe Another\untruc
?>
     
    
  
  
   Règles de contextes pour l'importation
   
    Le mot-clé use doit être déclaré dans le contexte le plus
    externe d'un fichier (le contexte global) ou alors dans les déclarations d'espace
    de noms. Ceci car l'importation est effectuée à la compilation et non durant
    l'éxecution, donc on ne peut empiler les contextes. L'exemple qui suit montre des
    utilisations incorrectes du mot-clé use:
   
   
    
     Exemple #5 Règles d'importation incorrectes
     
<?php
namespace Languages;
function toGreenlandic
{
    use Languages\Danish;
    // ...
}
?>
      
     
   
   Note: 
    
     Les règles d'importation sont basées sur les fichiers, ce qui signifie que les fichiers
     inclus n'hériteront PAS des règles d'importation du fichier parent.
    
   
   
  
   Déclaration du groupe use
   
    Les classes, fonctions et constantes importées depuis
    le même namespace peuvent être regroupées dans une
    seule instruction use.