Uvod v imenske prostore v OOP v PHP
Če se ob zagonu PHP skripta pojavita dva razreda z enakima imenoma, pride do konflikta, kar povzroči usodno napako. To v resnici ni zelo priročno, saj moramo nenehno skrbeti za edinstvenost imen.
Za primer razmislimo o naslednji situaciji:
imate spletno mesto, kjer so uporabniki
in administrator. Hkrati v mapi users shranjujemo
razrede za uporabnike, v mapi admin
pa razrede za administratorje.
Naj tako za uporabnike kot za administratorje potrebujemo neki
razred Page, ki je odgovoren za nekatere
strani spletnega mesta. Hkrati bo za uporabnike
svoj razred, za administratorje pa svoj. V takšnem
primeru nas čaka konflikt imen.
Najpreprostejši način rešitve tega konflikta
je, da damo razredom različna imena, na primer,
UsersPage in AdminPage. Vendar
ta pot postopoma vodi do pojava
zelo dolgih imen razredov.
V PHP obstaja še druga pot rešitve težave - imenski prostori. Bistvo je naslednje: vsak razred lahko spada v nek imenski prostor in pri tem se mora edinstvenost imen razredov spoštovati le znotraj tega prostora.
To pomeni, da za rešitev našega problema lahko
naredimo naslednje: en razred Page
uvrstimo v nek imenski prostor, na primer,
Users, drugi razred Page
pa uvrstimo v drug imenski prostor, na primer,
Admin.