Toutes les classes et fonctions, dans un espace de noms, peuvent être référencées par le nom complet - e.g. MyProject::DB::Connection ou MyProject::DB::connect - à n'importe quel moment.
Exemple #1 Utilisation du nom de l'espace de noms
<?php
require 'MyProject/Db/Connection.php';
$x = new MyProject::DB::Connection;
MyProject::DB::connect();
?>
Les espaces de noms peuvent être importées dans le contexte courant (global ou de l'espace de noms) en utilisant l'opérateur use. La syntaxe est la suivante :
<?php
/* ... */
use Some::Name as Othername;
// La forme simplifiée de use:
use Foo::Bar;
// Ce qui est identique à :
use Foo::Bar as Bar;
?>
L'opérateur use ne peut être utilisé que dans le contexte global, et non dans une classe ou une fonction. Les noms importés ont des effets depuis le point d'importation jusqu'à la fin du fichier courant. Il est recommandé d'effectuer l'importation au tout début du fichier afin d'éviter toute confusion.
Exemple #2 Importation et utilisation de l'espace de noms
<?php
require 'MyProject/Db/Connection.php';
use MyProject::DB;
use MyProject::DB::Connection as DbConnection;
$x = new MyProject::DB::Connection();
$y = new DB::connection();
$z = new DbConnection();
DB::connect();
?>
Note: L'opération d'importation s'effectue uniquement lors de la compilation ; tous les noms locaux sont convertis en leur équivalent au moment de la compilation. Notez que le compilateur ne traduit pas les noms en simples chaînes, ainsi les fonctions de rappel ne sauraient se prévaloir des règles d'importation.