Vidnost spremenljivk, zlasti pri lastnostih in metodah v objektno usmerjenem programiranju, je ključni koncept, ki je za vsakega razvijalca izjemno pomemben. Zlasti v PHP vidnostni modi public, private in protected določajo, kdo lahko dostopa do določenih lastnosti in metod. Ti koncepti pomagajo pri implementaciji podatkovnega zaznamovanja, kar naredi objektno usmerjene programe bolj robustne in vzdržljive. V tem priročniku se boš naučil, kako se ti modifikatorji uporabljajo in kakšne posledice imajo lahko za strukturo tvoje programiranja.
Najpomembnejše ugotovitve
- public: lastnosti so dostopne od koderkoli.
- private: lastnosti so dostopne samo znotraj samega razreda.
- protected: lastnosti so dostopne znotraj razreda in v dedovanih razredih.
Navodila po korakih
1. Ustvarjanje preprostega razreda z javno lastnostjo
Za uvod bomo ustvarili razred Avto, v katerem bomo definirali javno lastnost z imenom Hitrost. To ti bo dalo jasno sliko, kako lahko dostopaš do te lastnosti od zunaj.

Zdaj lahko ustvariš objekt tega razreda:

Ko sedaj nastaviš hitrost avtomobila na 30, 50 ali celo 130, nimaš nobenih omejitev – to je moč javne vidnosti.
2. Uvedba maksimalne hitrosti z gosto lastnostjo
Zdaj dodamo private lastnost maksimalnahitrost in spremenimo metodo tako, da nastavi le dovoljene hitrosti. Na ta način lahko zagotoviš, da je dodeljenih le veljavnih vrednosti.
S to metodo lahko nastaviš hitrost in hkrati zagotoviš, da ne pride do napake zaradi previsokih vrednosti.

3. Uporaba Getter in Setter metod za private lastnosti
Ker je maksimalnahitrost privatna, jo lahko narediš dostopno le preko metod znotraj razreda. Naslednji primer prikazuje, kako implementirati Getter in Setter metode.

Preko teh metod dosežeš kapsulacijo in vpliv na lastnosti od zunaj.

4. Razumevanje protected modifikatorja
Zdaj bomo obravnavali protected modifikator. Ta daje razredom, ki dedujejo od drugih razredov, dostop do določenih lastnosti. To pomeni, da lahko podrazredi še naprej uporabljajo ali prepisujejo specifično metodo ali lastnost.

V tem primeru lahko dirkalno vozilo dostopa do zaščitene lastnosti, medtem ko zunanje klase tega ne morejo. To omogoča kodiranje ciljno usmerjenega vedenja za dedovane razrede.
5. Odločitev o vidnosti
Pomembna odločitev, ki jo moraš sprejeti, se nanaša na vidnost tvojih lastnosti. Na splošno bi moral uporabljati private, razen če je očitno, da je lastnost potrebna znotraj dedovanja. V tem primeru izberi protected.

Pri tem imej v mislih, da lahko, če si v fazi vzdrževanja ali delaš na novi funkciji, svoje nadzore dostopa kasneje še vedno spremeniš, če bo to potrebno.
Povzetek – vidnost pri lastnostih: public, private in protected v PHP
Vidnost lastnosti v PHP je ključna za razumevanje podatkovnega zaznamovanja in objektno usmerjenega programiranja. S pomočjo modifikatorjev public, private in protected lahko dosežeš natančnost in nadzor nad dostopom do lastnosti in metod v tvojih razredih. Z pravilno uporabo teh načel znatno izboljšaš vzdrževanje in varnost svojega kode.
Pogosto zastavljena vprašanja
Kaj pomeni public v PHP?public pomeni, da je lastnost ali metoda dostopna od kjerkoli.
Kaj pomeni private v PHP?private pomeni, da je lastnost ali metoda dostopna le znotraj samega razreda.
Kaj pomeni protected v PHP?protected pomeni, da je lastnost ali metoda dostopna iz lastnega razreda in iz dedovanih razredov.
Kdaj naj uporabim private?Običajno bi moral uporabljati private, da maksimalno povečaš vidnost in nadzor.
Kdaj lahko preklopim na protected?Preklopi na protected, ko je lastnost potrebna znotraj dednih razredov in želiš preprečiti dostop od zunaj.