Įvadas į vardų erdves OOP PHP
Jei paleidus PHP scenarijų bus dvi klasės sutampančiais pavadinimais, jos susikirs, kas sukels lemtingą klaidą. Tai iš tikrųjų nėra labai patogu, nes nuolat tenka sekti pavadinimų unikalumą.
Pavyzdžiui, apsvarstykite tokią situaciją:
jūsų svetainėje yra vartotojai
ir administratorius. Tuo pačiu aplanke users saugomos
klasių failai vartotojams, o aplanke admin
- klasės administratoriui.
Tarkime, kad ir vartotojams, ir administratoriui reikia kažkokios
klasės Page, atsakingos už kai kuriuos
svetainės puslapius. Tuo pačiu vartotojams bus
savo klasė, o administratoriui - savo. Tokiu
atveju mūsų ir laukia pavadinimų konfliktas.
Paprasčiausias būdas išspręsti šį konfliktą
- suteikti skirtingus klasių pavadinimus, pavyzdžiui,
UsersPage ir AdminPage. Tačiau šis
kelas palaipsniui veda prie labai ilgų klasių pavadinimų atsiradimo.
PHP egzistuoja ir kitas problemos sprendimo būdas - vardų erdvės. Esmė tokia: kiekviena klasė gali priklausyti kažkokiai vardų erdvei ir tuo pačiu unikalumas klasių pavadinimų turi būti laikomasi tik šios erdvės viduje.
Tai yra, norėdami išspręsti mūsų problemą, galime
padaryti taip: priskirti vieną klasę Page
kokiai nors vardų erdvei, pavyzdžiui,
Users, o antrąją klasę Page
priskirti kitai vardų erdvei, pavyzdžiui,
Admin.