Ú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ň triedyFunkčná úroveňVariabilná úroveň
verejnosťNAÁNOÁNO
súkromnéNAÁNOÁNO
chránenýNAÁNOÁNO
abstraktnéÁNOÁNONA
konečnéÁNOÁNONA
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:

<_?php
class 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.

<_?php
class 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é.

<_?php
class private MyAccess (
var $var = "This is first var";
)
?>
class protected MyAccess (
var $var = "This is first var";
)
?>
<_?php
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

<_?php
class 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

<_?php
class 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 -

  1. Abstraktná trieda v PHP
  2. Vzory v PHP
  3. Príkaz na prepínanie PHP
  4. Premenné v PHP
  5. C Kľúčové slová
  6. C # Kľúčové slová
  7. Statická metóda v PHP
  8. Statické kľúčové slovo v C
  9. Vyhlásenie o prepnutí v jazyku C #
  10. Kompletný sprievodca abstraktnou triedou v jazyku C #
  11. Kompletný sprievodca statickou metódou JavaScript

Kategórie: