PHP da OOP da Nomlar Fazolari Kirish
Agar PHP skripti ishga tushirilganda ikkita klass bir xil nomga ega bo'lsa, ular nizoga kirishadi, bu fatal xatolikka olib keladi. Bu aslida juda qulay emas, chunki doimiy ravishda nomlarning noyobligini kuzatish kerak bo'ladi.
Misol sifatida quyidagi vaziyatni ko'rib chiqaylik:
sizda foydalanuvchilar va admin bor sayt mavjud.
Bunda users papkasida foydalanuvchilar uchun
klasslar saqlanadi, admin papkasida esa
- admin uchun klasslar.
Faraz qilaylik, ham foydalanuvchilar, ham admin uchun
Page deb nomlangan, saytning ba'zi sahifalari
uchun javobgar bo'lgan klass kerak. Bunda foydalanuvchilar uchun
o'z klassi, admin uchun esa - boshqasi bo'ladi. Bunday
holatda nomlar nizosi bizni kutmoqda.
Ushbu nizoni hal qilishning eng oddiy usuli
- klasslarga har xil nomlar berish, masalan,
UsersPage va AdminPage. Bu
yo'l, biroq, asta-sekin juda uzun nomdagi klasslarning
paydo bo'lishiga olib keladi.
PHP da muammoni hal qilishning boshqa yo'li mavjud - nomlar fazolari. Mazmuni quyidagicha: har bir klass qandaydir nomlar fazosiga tegishli bo'lishi mumkin va bunda klass nomlarining noyobligi faqat shu nomlar fazosi ichida saqlanishi kerak.
Ya'ni, muammomizni hal qilish uchun biz quyidagilarni
qilishimiz mumkin: Page klassini biror
nomlar fazosiga, masalan,
Users ga tegishli qilish, ikkinchi Page klassini
esa boshqa nomlar fazosiga, masalan,
Admin ga tegishli qilish.