Espaces de noms en PHP

Propriétés statiques en PHP POO

Que sont les espaces de noms en PHP ?

Les espaces de noms en PHP sont également décrits comme des qualificatifs qui fournissent deux fonctions principales au programme.

  1. À l'aide de l'espace de noms, organisez le code en regroupant les classes de même nature dans un seul espace de noms.
  2. L'espace de noms nous permet d'utiliser le même nom pour plusieurs classes car elles sont encapsulées dans l'espace de noms.

Exemple général d'espaces de noms

Par exemple, nous avons un groupe de classes qui effectuent les opérations mathématiques de base DMAS (Division, Multiplication, Addition et Soustraction). Nous avons également un autre groupe de classes qui préparent le résultat des élèves d'une classe.

Les espaces de noms nous permettent d'organiser ces deux ensembles de classes en deux espaces de noms. Un espace de noms contiendra les classes liées aux mathématiques et l'autre contiendra les classes de calcul des résultats.

Comment déclarer Namespace en PHP ?

  • L'espace de noms est déclaré en haut du script PHP afin qu'il puisse être disponible dans tout le fichier.
  • namespace Le mot clé est réservé à la déclaration des espaces de noms.

Syntaxe

// Declare a namespace maths:
namespace Maths;

Notes: Il est obligatoire de déclarer l'espace de noms en haut du fichier/ Le code suivant serait erroné.

<?php
echo "Hello PHP!";
namespace Maths;
...
?>

Maintenant, regardez l'autre côté de ce sujet, c'est-à-dire les classes qui font partie de l'espace de noms. Nous prenons la classe Maths comme exemple de classe et la déclarons dans l'espace de noms.

Créer une classe Division dans l'espace de noms Math

<?php
namespace Maths;
class Division {
  public function divide($numenator, $denominator) {
         $result = $numenator/$denominator;
         echo $result;
  }
}
$div= new Division();
?>

<!DOCTYPE html>
<html>
<body>

<?php
$div->divide(6, 3);
?>
</body>
</html>
  • Dans l'exemple ci-dessus, nous créons une classe Division dans l'espace de noms Maths. Concentrez-vous sur le utiliser l'espace de noms utilisation du mot-clé en haut de la classe Division. Il définit que cette classe Division fait partie de l'espace de noms Maths.
  • Maintenant, nous pouvons accéder à la méthode de division n'importe où en utilisant l'espace de noms Maths dans notre code.

Comment déclarer des espaces de noms imbriqués ?

Supposons que nous voulions déclarer l'espace de noms Maths à l'intérieur de l'espace de noms de code.

namespace Code\Maths;

Comment utiliser les espaces de noms en PHP ?

  • La classe qui appartient à un espace de noms n'a pas besoin d'objet. Nous pouvons accéder à la classe dans le code qui utilise l'espace de noms de la classe à laquelle nous voulons accéder sans créer son instance.
  • Pour accéder à une classe en dehors de l'espace de noms, nous pouvons le faire en lui attachant l'espace de noms.

Exemple

$div= new Maths\division()
$mul= new Maths\multiplication();

Lorsque nous avons plusieurs classes utilisant le même espace de noms, il est plus simple d'utiliser le mot-clé namespace au lieu d'y accéder comme dans l'exemple ci-dessus.

namespace Maths;
$div = new division();
$mul = new multiplication();

Dans l'exemple ci-dessus, nous accédons aux classes de division et de multiplication sans utiliser le qualificateur Maths\division ou Maths\multiplication.

Utilisation d'alias avec un espace de noms

Donner un alias (surnom) à un espace de noms est plus facile à écrire dans le code. Ceci est utile lorsque l'espace de noms est trop long ou fastidieux pour être écrit encore et encore.

Exemple

use Maths as M;
$div = new M\division();

Vue d'ensemble des espaces de noms en PHP dans le documentation PHP officielle.

Propriétés statiques en PHP POO
en English
X
Remonter en haut