Въведение в именните пространства в ООП в PHP
Ако при стартиране на PHP скрипт има два класа с еднакви имена, те ще влязат в конфликт, което ще доведе до фатална грешка. Това всъщност не е много удобно, тъй като постоянно трябва да се следи за уникалността на имената.
За пример разгледайте следната ситуация:
имате сайт, на който има потребители
и администратор. В папката users се съхраняват
класове за потребителите, а в папката admin
- класове за администратора.
Нека и за потребителите, и за администратора е необходим някакъв
клас Page, отговарящ за някои
страници на сайта. В този случай за потребителите ще има
собствен клас, а за администратора - свой. В такава
ситуация ние се сблъскваме с конфликт на имена.
Най-простият начин за решаване на този конфликт
- да се дадат различаващи се имена на класовете, например,
UsersPage и AdminPage. Този
път обаче постепенно води до появата на
много дълги имена на класове.
В PHP съществува и друг начин за решаване на проблема - именни пространства. Същността е следната: всеки клас може да принадлежи към някакво именно пространство и при това уникалността на имената на класовете трябва да се спазва само в рамките на това пространство.
Тоест, за решаване на нашия проблем можем да
направим следното: да отнесем един клас Page
към някакво именно пространство, например,
Users, а втори клас Page
да отнесем към друго именно пространство, например,
Admin.