Spații de nume în PHP

Proprietăți statice în PHP OOP

Ce sunt spațiile de nume în PHP?

Spațiile de nume în PHP sunt, de asemenea, descrise ca calificatori care oferă două funcții principale programului.

  1. Folosind namesapce, organizați codul prin gruparea claselor de aceeași natură într-un singur spațiu de nume.
  2. Spațiul de nume ne permite să folosim același nume pentru mai multe clase, deoarece acestea sunt incluse în spațiul de nume.

Exemplu general de spații de nume

De exemplu, avem un grup de clase care efectuează operațiile matematice de bază DMAS (Diviziune, Înmulțire, Adunare și Scădere). Mai avem și un alt grup de clase care pregătesc rezultatul elevilor unei clase.

Spațiile de nume ne permit să organizăm aceste două seturi de clase în două spații de nume. Un spațiu de nume va conține clasele legate de matematică, iar celălalt va conține clase de calcul a rezultatelor.

Cum să declar spațiul de nume PHP?

  • Spațiul de nume este declarat în partea de sus a scriptului PHP, astfel încât să poată fi disponibil în întregul fișier.
  • Spațiu de nume cuvântul cheie este rezervat pentru declararea spațiilor de nume.

Sintaxă

// Declare a namespace maths:
namespace Maths;

notițe: Este obligatoriu să declarați spațiul de nume în partea de sus a fișierului/ Următorul cod ar fi greșit.

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

Acum, uitați-vă la cealaltă parte a acestui subiect, adică clasele care fac parte din spațiul de nume. Luăm clasa Maths ca exemplu de clasă și o declarăm în spațiul de nume.

Creați o clasă Diviziune în spațiul de nume 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>
  • În exemplul de mai sus, creăm o clasă Divizie în spațiul de nume Maths. Concentrați-vă pe utilizați spațiul de nume utilizarea cuvintelor cheie în partea de sus a clasei Divizie. Acesta definește că această clasă Divizie este o parte a spațiului de nume Maths.
  • Acum, putem accesa metoda de împărțire oriunde folosind spațiul de nume Maths din codul nostru.

Cum se declară spații de nume imbricate?

Să presupunem că vrem să declarăm spațiul de nume Maths în interiorul spațiului de nume de cod.

namespace Code\Maths;

Cum se utilizează spațiile de nume în PHP?

  • Clasa care aparține unui spațiu de nume nu are nevoie de obiect. Putem accesa clasa în codul care folosește spațiul de nume al clasei pe care dorim să o accesăm fără a-i crea instanța.
  • Pentru a accesa o clasă în afara namesapce, o putem face prin atașarea ei namespace.

Exemplu

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

Când avem multe clase care folosesc același spațiu de nume, este mai simplu să folosim cuvântul cheie spațiu de nume în loc să le accesăm ca în exemplul de mai sus.

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

În exemplul de mai sus, accesăm clasele de împărțire și înmulțire fără a folosi calificativul Maths\division sau Maths\multiplication.

Folosind Alias ​​cu spațiu de nume

Acordarea unui alias (porecla) unui spațiu de nume este mai ușor de scris în cod. Acest lucru este util atunci când spațiul de nume este prea lung sau plictisitor pentru a fi scris din nou și din nou.

Exemplu

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

Prezentare generală a spațiilor de nume în PHP în documentația oficială PHP.

Proprietăți statice în PHP OOP
en English
X
Derulaţi în sus