Kakšna je razlika med javnim, zasebnim in zaščitenim v PHP

Kaksna Je Razlika Med Javnim Zasebnim In Zascitenim V Php



PHP se pogosto uporablja za razvoj dinamičnih spletnih mest in spletnih aplikacij. PHP ponuja ključne besede, znane kot modifikatorji dostopa . Lastnosti modifikatorja dostopa se uporabljajo za dostop do spremenljivke, razreda ali lastnosti razreda na tri različne načine, kot npr javnosti , zasebno, in zaščiten . V tem članku bomo obravnavali te modifikatorje dostopa in ugotovili razliko med temi tremi modifikatorji dostopa v programskem jeziku PHP.

Kaj so modifikatorji dostopa v PHP?

V PHP so modifikatorji dostopa bistveni, ker uporabnikom omogočajo uravnavanje vidnosti in dostopnosti atributov in metod razreda. Kot rezultat tega zagotavlja enkapsulacijo in varnost podatkov, s čimer so člani razreda zaščiteni pred nepooblaščenim dostopom ali spreminjanjem. Prav tako olajša vzdrževanje kode in odpravljanje napak.







Vrste modifikatorjev dostopa

Trije modifikatorji dostopa, ki obstajajo v PHP, so obravnavani spodaj:



  • Javno: Do javne metode lahko dostopate zunaj razreda. To pomeni, da lahko katera koli koda dostopa do javne metode, jo spremeni in prikliče.
  • Zasebno: Dostop do zasebne metode je omejen na sam razred. To pomeni, da nobeni od drugih kod, tudi če gre za podrejeni razred, ni dovoljen dostop do zasebne metode ali branje zasebne vrednosti.
  • Zaščiteno: Zaščitena metoda je dostopna samo znotraj razreda in razredov, ki so z njim povezani; ni ga mogoče uporabiti zunaj teh razredov. Vsaka izvorna koda, ki potrebuje dostop do primerka razreda, lahko prebere ali spremeni podatke zaščitene lastnosti ali prikliče zaščiteno funkcijo.

Razlika med javnimi, zasebnimi in zaščitenimi modifikatorji dostopa v PHP

Lastnina Javno Zasebno Zaščiteno
Dostopnost Ti modifikatorji dostopa so lahko dostopni kjer koli, na primer znotraj in zunaj kode. Specifikatorji zasebnega dostopa so dostopni samo znotraj razreda. Lahko je dostopen znotraj razreda in z njim povezanih (podrejenih) razredov in metod.
Prilagodljivost Največ prilagodljivosti ponujajo javni viri, saj so dostopni od koder koli. Ker so dostopne izključno znotraj razreda, te metode ponujajo najmanj prilagodljivosti. Zaščitena metoda zagotavlja zmerno prilagodljivost, saj lahko podrejeni razredi dostopajo do teh metod.
Enkapsulacija Druga koda lahko dostopa do javnih metod ali jih enkapsulira, vendar ima programer nadzor nad tem. Zasebna metoda je enkapsulirana znotraj razreda, zaradi česar zunanji kodi ni mogoče dostopati do njih ali jih posodobiti. Njegov postopek enkapsulacije je enak kot javna metoda v PHP.
Varnost Javne metode so dostopne od koder koli. Torej zagotavljajo nizko stopnjo varnosti v kodi. Najvišjo raven varnosti zagotavljajo zasebni modifikatorji dostopa, ker so v celoti vsebovani v razredu. Ker lahko do njih dostopajo samo člani razreda in njegovih podrazredov, zaščiteni modifikatorji dostopa nudijo primerno raven varnosti.

Oglejmo si razliko med temi specifikatorji dostopa na preprostem primeru programa v PHP.



Primer: program PHP z modifikatorji zasebnega, javnega in zaščitenega dostopa





Naslednji primer prikazuje razliko med javnim, zasebnim in zaščitenim v enem primeru kode:

< ?php
razred MojRazred {
javnosti $javno = 'Javna spremenljivka. \n ' ; // Dostopen je od koder koli
zasebno $zasebno = 'Zasebna spremenljivka. \n ' ; // Dostop je možen samo iz razreda
zaščiten $zaščiteno = 'Zaščitena spremenljivka.' ; // Dostopen je znotraj razreda in katerega koli podrazreda

javnosti funkcijo getPrivate ( ) {
vrnitev $to - > zasebno;
}

javnosti funkcijo getProtected ( ) {
vrnitev $to - > zaščiten;
}
}
$obj = nov moj razred ( ) ;

odmev $obj - > javnost;
odmev $obj - > getPrivate ( ) ;
odmev $obj - > getProtected ( ) ;
? >



V zgornjem programu smo definirali razred kot Moj razred z javno lastnino kot $javno ki bi lahko dostopali kjer koli v kodi, zasebno lastnino kot $zasebno , in zaščitena lastnina imenovana $zaščiteno , zato ne moremo dostopati do zasebnih in zaščitenih specifikatorjev neposredno zunaj razreda. Kot smo uporabili dve javni metodi, imenovani getPrivate() in getProtected() ki vrnejo vrednosti spremenljivk zasebnih oziroma zaščitenih lastnosti, rezultat pa je podan spodaj:

Zaključek

PHP ponuja veliko funkcij in ena izmed njih so ključne besede, imenovane modifikatorji dostopa. Ti modifikatorji dostopa zagotavljajo različne vzorce dostopa do podatkov razredov v programu PHP. V zgornji vadnici smo videli razliko med modifikatorji dostopa v smislu dostopnosti, enkapsulacije, prilagodljivosti in varnosti, ki so na voljo v PHP.