⊗ppOpNsSN 97 of 107 menu

Subspații de nume în OOP în PHP

Să presupunem acum că avem o situație mai complexă: pentru administrator trebuie făcute două clase Page - una cu datele paginii, iar a doua - cu reprezentarea acestor date. Să presupunem că prima clasă se află în fișierul /admin/data/page.php, iar a doua - în fișierul /admin/view/page.php.

În lecțiile anterioare am stabilit deja că toate clasele din directorul admin vor aparține spațiului de nume Admin. Cu toate acestea, acum în acest spațiu de nume avem un conflict între două clase. Pentru a rezolva problema se pot face subspații de nume suplimentare. De exemplu, se poate face spațiul de nume Admin, iar în el subspațiile Data și View. În acest caz numele acestor subspații se scriu pur și simplu prin backslash - atât la definirea spațiului de nume, cât și la crearea obiectului clasei.

Aici trebuie precizat că nivelul de imbricare al subspațiilor nu este limitat (se pot crea subspații în subspații și așa mai departe).

Deci, să finalizăm exemplul nostru descris mai sus. Pentru clasa Page din fișierul /admin/data/page.php vom specifica spațiul de nume Admin\Data:

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

Pentru clasa Page din fișierul /admin/view/page.php vom specifica spațiul de nume Admin\View:

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

Să creăm obiectele claselor noastre:

<?php require_once '/admin/data/page.php'; require_once '/admin/view/page.php'; $adminDataPage = new \Admin\Data\Page; $adminViewPage = new \Admin\View\Page; ?>

Să presupunem că aveți directorul modules/cart. Faceți astfel încât toate clasele din acest director să aparțină spațiului de nume Modules\Cart.

Să presupunem că aveți directorul modules/shop/cart/. Faceți astfel încât toate clasele din acest director să aparțină spațiului de nume Modules\Shop\Cart.

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