Úvod do menných priestorov v OOP v PHP
Ak pri spustení PHP skriptu budú existovať dve triedy s rovnakými názvami, dôjde ku konfliktu, čo povedie k fatálnej chybe. V skutočnosti to nie je veľmi pohodlné, pretože je potrebné neustále sledovať jedinečnosť názvov.
Pre príklad zvážte nasledujúcu situáciu:
máte webovú stránku, ktorá má používateľov
a admina. Zároveň v priečinku users sú uložené
triedy pre používateľov a v priečinku admin
- triedy pre admina.
Nech pre používateľov aj pre admina je potrebná nejaká
trieda Page, ktorá je zodpovedná za nejaké
stránky webu. Zároveň pre používateľov bude
existovať ich vlastná trieda a pre admina - ich vlastná. V takom
prípade nás čaká konflikt názvov.
Najjednoduchší spôsob riešenia tohto konfliktu
- dať triedam odlišné názvy, napríklad,
UsersPage a AdminPage. Táto
cesta však postupne vedie k vzniku
veľmi dlhých názvov tried.
V PHP existuje aj iný spôsob riešenia problému - menné priestory. Podstata je nasledovná: každá trieda môže patriť do nejakého menného priestoru a zároveň jedinečnosť názvov tried musí byť dodržaná len v rámci tohto priestoru.
To znamená, že na vyriešenie nášho problému môžeme
urobiť nasledovné: zaradiť jednu triedu Page
do nejakého menného priestoru, napríklad,
Users, a druhú triedu Page
zaradiť do iného menného priestoru, napríklad,
Admin.