1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| <?php
namespace Foo\Bar
{
// Les espaces de noms PHP fournissent un moyen pour regrouper
// des classes, fonctions ou constantes.
// Ici, on a créé l'espace de noms "Foo\Bar".
// Il est recommandé d'utiliser la syntaxe à accolades.
include 'namespace_1.php';
const FOO = 2;
function foo() {}
class foo
{
static function methodestatique() {}
}
// ************************************************************************
// Lorsqu'un nom n'est pas qualifié, PHP suppose que l'on fait appel
// au namespace du présent code.
// Ci-dessous, on fait appel à la fonction foo () du présent namespace.
foo();
// Ci-dessous, on fait appel à la methodestatique()de la classe foo
// du présent namespace.
foo::methodestatique();
// Ci-dessous, on fait appel à la constante FOO du présent namespace.
echo FOO; // Deviet la constante Foo\Bar\FOO
// ************************************************************************
// Lorsqu'un nom est qualifié, PHP fait appel au spacename mentionné.
// Ci-dessous, PHP fait appel à la fonction foo() du space name contenu
// dans le fichier namespace_1.php
sousespacedenoms\foo();
// Ci-dessous, PHP fait appel à la methodestatique() de la classe foo
// du spacename contenu dans le fichier namespace_1.php
sousespacedenoms\foo::methodestatique();
// Ci-dessous, PHP fait appel à la constante FOO du spacename contenu
// dans le fichier namespace_1.php
echo sousespacedenoms\FOO;
// ************************************************************************
// Lorsqu'un nom est absolu (c'est ainsi que l'on dit?), on mentionne
// clairement que l'on fait appel au présent namespace.
// Attention : ici, c'est moi qui ai beaucoup supposé...
\Foo\Bar\foo();
\Foo\Bar\foo::methodestatique();
echo \Foo\Bar\FOO;
}
?> |
Partager