Hyrje në Hapësirat e Emrave në OOP në PHP
Nëse gjatë nisjes së skriptit PHP do të ketë dy klasa me emra të njëjtë, ato do të hynë në konflikt, çka do të çojë në një gabim fatal. Kjo në të vërtetë nuk është shumë e përshtatshme, pasi vazhdimisht duhet të monitorosh unicitetin e emrave.
Për shembull, merrni parasysh situatën e mëposhtme:
ju keni një faqe në internet ku ka përdorues
dhe administrator. Në të njëjtën kohë, në dosjen users ruhen
klasat për përdoruesit, dhe në dosjen admin
- klasat për administratorin.
Le të themi se si për përdoruesit, ashtu edhe për administratorin nevojitet një
klasë Page, e cila përgjigjet për disa
faqe të sitit. Në të njëjtën kohë, për përdoruesit do të ketë
klasën e vet, dhe për administratorin - të vetën. Në një
rast të tillë, ne e gjejmë veten përballë konfliktit të emrave.
Mënyra më e thjeshtë për të zgjidhur këtë konflikt
- është t'u jepni emra të ndryshëm klasave, për shembull,
UsersPage dhe AdminPage. Kjo
rrugë, megjithatë, gradualisht çon në shfaqjen
të emrave shumë të gjatë të klasave.
Në PHP ekziston një rrugë tjetër për zgjidhjen e problemit - hapësirat e emrave. Thelbi është si vijon: çdo klasë mund t'i përkasë një hapësire emrash dhe në këtë rast uniciteti i emrave të klasave duhet të respektohet vetëm brenda asaj hapësire.
Kjo do të thotë, për të zgjidhur problemin tonë ne mund
të bëjmë si më poshtë: t'i caktojmë njërën klasë Page
ndonjë hapësire emrash, për shembull,
Users, dhe klasën e dytë Page
t'a caktojmë një hapësire tjetër emrash, për shembull,
Admin.