PHP
downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Espace global> <Définition de l'espace de noms
Last updated: Fri, 26 Dec 2008

view this page in

Utilisation des espaces de noms

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;
?>

Le nom importé fonctionne comme ceci : chaque fois que le compilateur rencontre le nom local Othername (comme nom stand-alone ou comme préfixe au nom long, séparé par ::), le nom Some::Name importé y est substitué.

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.



add a note add a note User Contributed Notes
Utilisation des espaces de noms
There are no user contributed notes for this page.

Espace global> <Définition de l'espace de noms
Last updated: Fri, 26 Dec 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites