Úvod do modifikátorov prístupu v PHP
Modifikátor prístupu je spôsob, ktorým môžeme nastaviť rozsah prístupnosti a práva na premennú akýchkoľvek iných identifikátorov v PHP. PHP podporuje rôzne kľúčové slová na vytvorenie akejkoľvek premennej na prístup k akejkoľvek premennej a identifikátorom. Tieto kľúčové slová môžeme priradiť triede, funkcii alebo identifikátorom. Tieto kľúčové slová - verejné, súkromné, chránené, abstraktné, konečné atď.
Kedy používať modifikátory prístupu v PHP?
Na rozdiel od jazyka Java má PHP určité obmedzenia, pokiaľ ide o jeho modifikátor prístupu. Nemôžeme použiť všetky modifikátory prístupu PHP na úrovni triedy, funkčnej úrovne a identifikátora. Tieto modifikátory prístupu môžeme použiť podľa potreby našej firmy na udelenie alebo zrušenie povolenia v celom programe alebo aplikácii.
Tu sú modifikátory zoznamu a informácie o tom, či je alebo nie je použiteľné:
Modifikátor prístupu | Úroveň triedy | Funkčná úroveň | Variabilná úroveň |
verejnosť | NA | ÁNO | ÁNO |
súkromné | NA | ÁNO | ÁNO |
chránený | NA | ÁNO | ÁNO |
abstraktné | ÁNO | ÁNO | NA |
konečné | ÁNO | ÁNO | NA |
statický | NA | ÁNO | ÁNO |
Vo vyššie uvedenom príbehu NA označuje Neaplikovateľné. To znamená, že nemôžeme používať verejný, súkromný a chránený na úrovni triedy. Abstrakt a finále môžeme použiť iba na úrovni triedy.
Rôzne modifikátory prístupu v PHP
Nižšie sú uvedené nasledujúce modifikátory prístupu v PHP
1. Modifikátor verejného prístupu
Verejnosť je v PHP predvolený modifikátor ako JAVA. To znamená, že ak nepoužívame v predvolenom nastavení žiadny modifikátor s funkciami identifikátorov, považuje sa to za modifikátor verejného prístupu. Je to jeden z najpoužívanejších. V okamihu, keď dôjde k opätovnému použitiu kódu funkcie, zvyčajne ideme s modifikátorom prístupu k verejnosti. Pretože verejnosť môže byť použitá odkiaľkoľvek, v rámci triedy, mimo triedy, v rozšírenej triede, a ak táto opakovaná verejnosť nie je obmedzená na žiadnu triedu, môžeme ju použiť kdekoľvek, do ktorej súbor vložíme. Ako je uvedené v tabuľke vyššie, tento verejný modifikátor nemôžeme používať spolu s triedou spolu so súkromnými a chránenými.
Teraz je čas vidieť príklad modifikátora verejného prístupu:
<_?phpclass MyAccess (
var $var = "This is first var";
// print var variable value
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();$obj1->returnVar();
?>
Vo vyššie uvedenom kóde bola funkcia returnVar () definovaná bez modifikátora prístupu, takže bude fungovať rovnako verejne, pretože ide o predvolený modifikátor v jazyku PHP.
verejné, súkromné a chránené nebude možné aplikovať na úrovni triedy, pozrime sa na príklad.
<_?phpclass public MyAccess (
var $var = "This is first var";
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();
$obj1->returnVar();
?>
Vyššie uvedený kód spôsobí chybu, ako je uvedené nižšie:
(!) Chyba analýzy: chyba syntaxe, neočakávaná „verejná“ (T_PUBLIC), očakávaný identifikátor (T_STRING) v E: \ wamp \ www \ twit \ index.php na 2. riadku
To isté platí aj pre súkromné a chránené.
<_?phpclass private MyAccess (
<_?php
var $var = "This is first var";
)
?>
class protected MyAccess (
var $var = "This is first var";
)
?>class private MyAccess (
var $var = "This is first var";
)
?>
class protected MyAccess (
var $var = "This is first var";
)
?>
2. Modifikátor súkromného prístupu
Tento modifikátor nám privátne kľúčové slovo spracuje. S triedou nemôžeme použiť súkromný modifikátor. Môžeme to použiť iba s premennými triedy a metódami triedy (ako sme už uviedli v tabuľke vyššie). Keď deklarujeme a používame súkromné, potom k nemu nemožno pristupovať pomocou objektu triedy. Môže byť použitý iba v rámci triedy.
Napríklad
<_?phpclass MyAccess (
var $var = "This is first var";
private $fist_name;
// simple class method
function returnVar() (
echo $this->fist_name;
)
function set_fist_name($set_this)(
$this->fist_name = $set_this;
)
)
$obj1 = new MyAccess();
echo $obj1->fist_name; // will give the error
$obj1->set_fist_name("Jai Shre");
$obj1->returnVar();
?>
echo $obj1->fist_name; // will give the error
Tento riadok kódu môžeme použiť, pretože príde s chybou. To je niečo, čo nemôžeme získať prístup k súkromnej premennej pomocou objektu tejto triedy. Môžeme to však použiť pomocou jeho nastavenia a metódy getteru, ako to používame vo vyššie uvedenom kóde. $ obj1-> set_fist_name („Jai Shre“); riadok kódu nastaví hodnotu v premennej a použije $ obj1-> returnVar (); môžeme získať hodnotu nastavenej premennej.
3. Modifikátor chráneného prístupu
Rovnako ako verejný a súkromný, chránená ochrana na úrovni triedy nepodporuje. Podobne ako súkromný modifikátor, chránený tiež obmedzuje prístup k premenným triedy alebo funkcii zvonku triedy. Môže sa použiť v rámci tej istej triedy az podtriedy (podradená trieda).
Napríklad
<_?phpclass MyAccess (
var $var = "This is first var";
protected $fist_name;
// simple class method
function returnVar() (
echo $this->fist_name;
)
function set_fist_name($set_this)(
$this->fist_name = $set_this;
)
)
class child extends MyAccess (
function setVal($set_this)(
$this->fist_name = $set_this;
)
function getVal()(
echo $this->fist_name;
)
)
$obj1 = new child();
//echo $obj1->fist_name; // will give the error
$obj1->setVal("Jai Shre");
$obj1->getVal();
?>
echo $ obj1-> fist_name; v riadku kódu sa zobrazí chyba uvedená nižšie
Výkon:
Závažná chyba: Nedá sa získať prístup k chránenej vlastnosti MyAccess :: $ fist_name v E: \ wamp \ www \ twit \ index.php na riadku 20
4. Abstraktný modifikátor prístupu
Môže sa použiť na triedu a funkciu, nie na premennú triedy. Ak niektorá trieda má aspoň jednu abstraktnú funkciu, musí sa deklarovať ako abstrakt. Nemôžeme vytvoriť inštanciu abstraktnej triedy. Abstraktná trieda sa považuje hlavne za neúplnú triedu.
5. Modifikátor konečného prístupu
Ak je niektorá trieda vyhlásená za konečnú, nemôžeme ju rozšíriť. PHP obmedzuje zdedenie poslednej triedy.
6. Modifikátor statického prístupu
Statické kľúčové slovo sa dá použiť na vytvorenie akejkoľvek funkcie ako statickej. Umožňuje funkciu tejto funkcie, aby bolo možné použiť pri vytváraní objektu tej triedy, v ktorej bola deklarovaná. Príklad statickej metódy -
public static function static Function()
(
// declaration goes here..
)
záver
Modifikátor prístupu by sme mali vždy používať podľa obchodných požiadaviek. Pomocou súkromných a chránených môžeme obmedziť priame použitie súkromných premenných a súkromných metód mimo deklarovanú triedu.
Odporúčané články
Toto je sprievodca modifikátormi prístupu v PHP. Tu diskutujeme o rôznych prístupových modifikátoroch v PHP s príkladmi a výstupmi. Viac informácií nájdete aj v nasledujúcom článku -
- Abstraktná trieda v PHP
- Vzory v PHP
- Príkaz na prepínanie PHP
- Premenné v PHP
- C Kľúčové slová
- C # Kľúčové slová
- Statická metóda v PHP
- Statické kľúčové slovo v C
- Vyhlásenie o prepnutí v jazyku C #
- Kompletný sprievodca abstraktnou triedou v jazyku C #
- Kompletný sprievodca statickou metódou JavaScript