Нужна помощь донатом
для написания учебников Kotlin, Java, C++, C#, Go, Rust, Dart
подробности по ссылке
⊗ppOpNsInr 95 of 107 menu
◀ ▶

Introducere în spațiile de nume în OOP în PHP

Dacă la rularea scriptului PHP există două clase cu același nume, acestea vor intra în conflict, ceea ce va duce la o eroare fatală. Acest lucru nu este foarte convenabil, deoarece trebuie să urmărim constant unicitatea numelor.

De exemplu, luați în considerare următoarea situație: aveți un site care are utilizatori și administratori. În același timp, în folderul users sunt stocate clasele pentru utilizatori, iar în folderul admin - clasele pentru administratori.

Să presupunem că atât pentru utilizatori, cât și pentru administratori este necesară o anumită clasă Page, care răspunde de unele pagini ale site-ului. În același timp, pentru utilizatori va fi propria lor clasă, iar pentru administratori - propria lor. În astfel de cazuri, suntem prinși în capcana conflictului de nume.

Cea mai simplă modalitate de a rezolva acest conflict - este de a da nume diferite claselor, de exemplu, UsersPage și AdminPage. Acest drum, totuși, duce treptat la apariția unor nume de clase foarte lungi.

În PHP există o altă cale de a rezolva problema - spațiile de nume. Esența este următoarea: fiecare clasă poate aparține unui anumit spațiu de nume și, în acest caz, unicitatea numelor claselor trebuie respectată doar în interiorul acestui spațiu.

Adică, pentru a ne rezolva problema, putem face următoarele: să atribuim o clasă Page unui spațiu de nume, de exemplu, Users, iar a doua clasă Page să o atribuim unui alt spațiu de nume, de exemplu, Admin.

← →
↑
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