Ievads PHP OOP vārdtelpās
Ja, palaižot PHP skriptu, būs divas klases ar vienādiem nosaukumiem, tās nonāks konfliktā, kas izraisīs fatālu kļūdu. Tas patiesībā nav īpaši ērti, jo pastāvīgi jāuzraisa nosaukumu unikalitāte.
Piemēram, apsveriet šādu situāciju:
jums ir vietne, kurā ir lietotāji
un administrators. Tajā pašā laikā mapē users tiek glabātas
klases lietotājiem, bet mapē admin
- klases administratoram.
Pieņemsim, ka gan lietotājiem, gan administratoram ir nepieciešama kāda
klase Page, kas atbild par kādām
vietnes lapām. Tajā pašā laikā lietotājiem būs
sava klase, bet administratoram - sava. Šajā
gadījumā mūs sagaida nosaukumu konflikts.
Vienkāršākais veids, kā atrisināt šo konfliktu
- dot atšķirīgus nosaukumus klasēm, piemēram,
UsersPage un AdminPage. Taču šis
ceļš pamazām noved pie ļoti garu klases nosaukumu parādīšanās.
PHP pastāv arī cits problēmas risināšanas veids - vārdtelpas. Būtība ir sekojoša: katra klase var piederēt kādai vārdtelpai un tajā pašā laikā klasu nosaukumu unikalitāte jāievēro tikai šīs vārdtelpas ietvaros.
Tas ir, lai atrisinātu mūsu problēmu, mēs varam
darīt sekojošo: attiecināt vienu klasi Page
uz kādu vārdtelpu, piemēram,
Users, bet otro klasi Page
attiecināt uz citu vārdtelpu, piemēram,
Admin.