⊗ppOpNsSn 96 of 107 menu

Sintaxa spațiilor de nume în OOP în PHP

Pentru a atribui unui clasă un spațiu de nume, trebuie să scrieți prima linie a fișierului în care este stocată această clasă comanda namespace, iar după ea, prin spațiu - numele acestui spațiu.

Dacă o clasă aparține unui spațiu de nume, atunci pentru a crea un obiect al clasei va trebui să specificați nu numai numele clasei, ci și spațiul său de nume, separate prin backslash. Să vedem un exemplu.

Să presupunem că avem o clasă Page, care nu aparține niciunui spațiu de nume. Atunci obiectul acestei clase îl vom crea în felul următor:

<?php $page = new Page; ?>

Să presupunem acum că această clasă aparține spațiului de nume Admin. În acest caz, obiectul acestei clase îl vom crea deja în felul următor:

<?php $page = new \Admin\Page; ?>

Să separăm clasele pentru utilizatori și clasele pentru administratori în diferite spații de nume, pentru a evita conflictele de clase descrise mai sus.

Pentru clasa Page din fișierul /admin/page.php să specificăm spațiul de nume Admin:

<?php namespace Admin; class Page { } ?>

Iar pentru clasa Page din fișierul /users/page.php să specificăm spațiul de nume Users:

<?php namespace Users; class Page { } ?>

Să creăm acum în fișierul /index.php un obiect al primei și al celei de-a doua clase Page:

<?php require_once '/admin/page.php'; require_once '/users/page.php'; $adminPage = new \Admin\Page; $usersPage = new \Users\Page; ?>

Să presupunem că aveți folderul core și folderul project. În fiecare folder există propria clasă Controller. Faceți astfel încât aceste clase să aparțină unor spații de nume diferite. În fișierul index.php creați obiecte ale primei și celei de-a doua clase.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge