Aký je rozdiel medzi verejným, súkromným a chráneným v PHP

Aky Je Rozdiel Medzi Verejnym Sukromnym A Chranenym V Php



PHP sa široko používa na vývoj dynamických webových stránok a webových aplikácií. PHP poskytuje kľúčové slová známe ako modifikátory prístupu . Vlastnosti modifikátora prístupu slúžia na prístup k vlastnostiam premennej, triedy alebo triedy tromi rôznymi spôsobmi, ako napr verejnosti , súkromné, a chránené . V tomto článku sa budeme zaoberať týmito modifikátormi prístupu a určíme rozdiel medzi týmito tromi modifikátormi prístupu v programovacom jazyku PHP.

Čo sú modifikátory prístupu v PHP?

V PHP sú modifikátory prístupu nevyhnutné, pretože dávajú používateľom možnosť regulovať viditeľnosť, ako aj dostupnosť atribútov a metód tried. V dôsledku toho poskytuje zapuzdrenie a bezpečnosť údajov, a preto sú členovia triedy chránení pred neoprávneným prístupom alebo zmenou. Tiež to uľahčuje údržbu kódu a ladenie.







Typy modifikátorov prístupu

Nižšie sú uvedené tri modifikátory prístupu, ktoré existujú v PHP:



  • Verejné: Môžete pristupovať k verejnej metóde mimo triedy. To znamená, že akýkoľvek kód môže pristupovať, meniť a vyvolávať verejnú metódu.
  • Súkromné: Prístup k súkromnej metóde je obmedzený na samotnú triedu. To znamená, že žiadny z ostatných kódov, aj keď ide o podradenú triedu, nemá povolený prístup k súkromnej metóde alebo čítanie súkromnej hodnoty.
  • Chránené: Chránená metóda je prístupná iba v rámci triedy a tried, ktoré s ňou súvisia; nemožno ho použiť mimo týchto tried. Akýkoľvek zdrojový kód, ktorý potrebuje prístup k inštancii triedy, môže čítať alebo meniť údaje chránenej vlastnosti alebo vyvolať chránenú funkciu.

Rozdiel medzi modifikátormi verejného, ​​súkromného a chráneného prístupu v PHP

Nehnuteľnosť Verejné Súkromné Chránené
Prístupnosť Tieto modifikátory prístupu môžu byť dostupné kdekoľvek, napríklad vo vnútri alebo mimo kódu. Špecifikátory súkromného prístupu sú dostupné iba v rámci triedy. Môže byť prístupný v rámci triedy a jej súvisiacich (podradených) tried a metód.
Flexibilita Najväčšiu flexibilitu ponúkajú verejné zdroje, keďže sú dostupné odkiaľkoľvek. Keďže sú dostupné výlučne v rámci triedy, tieto metódy ponúkajú najmenšiu flexibilitu. Chránená metóda poskytuje miernu flexibilitu, keďže k týmto metódam majú prístup podradené triedy.
Zapuzdrenie Iný kód môže pristupovať alebo zapuzdrovať verejné metódy, ale programátor má nad tým kontrolu. Súkromná metóda je zapuzdrená vo vnútri triedy, čo znemožňuje vonkajšiemu kódu prístup alebo aktualizáciu. Jeho proces zapuzdrenia je rovnaký ako pri verejnej metóde v PHP.
Bezpečnosť Verejné metódy sú dostupné odkiaľkoľvek. Poskytujú teda nízku úroveň bezpečnosti v kóde. Maximálnu úroveň zabezpečenia poskytujú modifikátory súkromného prístupu, pretože sú úplne obsiahnuté v triede. Keďže k nim môžu pristupovať iba členovia triedy a jej podtried, modifikátory chráneného prístupu ponúkajú primeranú úroveň bezpečnosti.

Pozrime sa na rozdiel medzi týmito špecifikátormi prístupu pomocou jednoduchého príkladu programu v PHP.



Príklad: Program PHP s modifikátormi súkromného, ​​verejného a chráneného prístupu





Nasledujúci príklad ukazuje rozdiel medzi verejným, súkromným a chráneným v jednom príklade kódu:

< ?php
trieda MojaTrieda {
verejnosti $public = „Verejne premenné. \n ' ; // Prístupný odkiaľkoľvek
súkromné $private = „Súkromná premenná. \n ' ; // Prístup je možný iba v rámci triedy
chránené $chránené = 'Chránená premenná.' ; // Je prístupný v rámci triedy a akýchkoľvek podtried

verejnosti funkciu getPrivate ( ) {
vrátiť $this - > súkromné;
}

verejnosti funkciu getProtected ( ) {
vrátiť $this - > chránené;
}
}
$obj = nová MyClass ( ) ;

ozvena $obj - > verejnosť;
ozvena $obj - > getPrivate ( ) ;
ozvena $obj - > getProtected ( ) ;
? >



Vo vyššie uvedenom programe sme definovali triedu ako Moja trieda s verejným majetkom as $public ktorý by mohol pristupovať kdekoľvek v kóde, súkromný majetok ako $private , a chránený majetok tzv $chránené , preto nemôžeme pristupovať k súkromným a chráneným špecifikátorom priamo mimo triedy. Keďže sme použili dve verejné metódy tzv getPrivate() a getProtected() ktoré vracajú hodnoty premenných súkromných a chránených vlastností a výstup je uvedený nižšie:

Záver

PHP ponúka mnoho funkcií a jednou z nich sú kľúčové slová nazývané modifikátory prístupu. Tieto modifikátory prístupu poskytujú rôzne prístupové vzory k údajom tried v programe PHP. Vo vyššie uvedenom návode sme videli rozdiel medzi modifikátormi prístupu, pokiaľ ide o dostupnosť, zapuzdrenie, flexibilitu a bezpečnosť, ktoré ponúka PHP.