Uvod v Modifikatorje dostopa v PHP

Modifikator dostopa je način, s katerim lahko nastavimo obseg dostopnosti in pravice spremenljivki katerega koli drugega identifikatorja v PHP. PHP podpira različne ključne besede za dostop do katere koli spremenljivke in do identifikatorjev. Te ključne besede lahko dodelimo razredu, funkciji ali identifikatorjem. Te ključne besede - javne, zasebne, zaščitene, abstraktne, končne itd.

Kdaj uporabljati Modifikatorje dostopa v PHP?

PHP ima za razliko od Jave nekatere omejitve za svoj modifikator dostopa. Ne moremo uporabiti vseh spremenljivk dostopa do PHP na ravni razreda, ravni delovanja in ravni identifikatorja. Te modifikatorje dostopa lahko uporabimo v skladu s potrebami svojega podjetja za odobritev ali preklic dovoljenja v celotnem programu ali aplikaciji.

Tu so seznam modifikatorjev seznama in ali je uporaben ali ne:

Modifikator dostopaRazred razredaFunkcijaSpremenljiva raven
javnostiNADADA
zasebnoNADADA
zaščitenNADADA
izvlečekDADANA
končnaDADANA
StatičniNADADA

V zgornji zgodbi NA označuje Neprimerno. To pomeni, da ne moremo uporabljati javnega, zasebnega in zaščitenega na ravni razreda. Izvleček in zaključek lahko uporabimo le na razredu.

Različni modifikatorji dostopa v PHP

Spodaj so omenjeni naslednji Modifikatorji dostopa v PHP

1. Modifikator javnega dostopa

Javnost je privzeti modifikator, kot je JAVA v PHP. To pomeni, da če ne uporabljamo nobenega modifikatorja s funkcijami identifikatorjev privzeto, se šteje kot modifikator javnega dostopa. To je ena najbolj razširjenih. Ko pridemo do ponovne uporabnosti kode funkcije, gremo običajno z modifikatorjem javnega dostopa. Ker je javnost mogoče uporabiti od koder koli, znotraj razreda zagotovo, izven razreda, v razširjenem razredu, in če ta javna ponovna uporaba ni omejena na noben razred, jo lahko uporabimo kjer koli vključimo datoteko. Kot je omenjeno v zgornji tabeli, tega javnega modifikatorja ne moremo uporabljati skupaj z zasebnim in zaščitenim razredom.

Zdaj je čas, da si ogledate primer modifikatorja javnega dostopa:

<_?php
class MyAccess (
var $var = "This is first var";
// print var variable value
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();$obj1->returnVar();
?>

V zgornji kodi je bila funkcija returnVar () definirana, ne da bi z njo spreminjala dostopa, tako da bo delovala kot javna, saj je to privzeti modifikator v jeziku PHP.

javno, zasebno in zaščiteno ne bo uporabno na ravni razreda, poglejmo ga s primerom.

<_?php
class public MyAccess (
var $var = "This is first var";
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();
$obj1->returnVar();
?>

Zgornja koda bo povzročila napako, kot je navedeno spodaj:

(!) Napaka razčlenitve: napaka sintakse, nepričakovana 'javna' (T_PUBLIC), pričakovanje identifikatorja (T_STRING) v E: \ wamp \ www \ twit \ index.php v 2. vrstici

To ostane enako tudi za zasebne in zaščitene.

<_?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. Modifikator zasebnega dostopa

Ta modifikator nam zasebno ključno besedo obdela z njim. Z razredom ne moremo uporabiti zasebnega modifikatorja. To lahko uporabimo samo s spremenljivkami razreda in metodami razreda (kot smo omenili v zgornji tabeli). Ko izjavimo in uporabimo zasebno, do njega ni mogoče dostopati s predmetom razreda. Uporablja se lahko le znotraj razreda.

Za primer

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

To vrstico kode lahko uporabimo, ker bo prišlo do napake. To je nekaj, do česar ne moremo dostopati do zasebne spremenljivke s predmetom tega razreda. Toda to lahko uporabimo z uporabo njegove nastavitve in metode getter, kot jo uporabljamo v zgornji kodi. $ obj1-> set_fist_name ("Jai Shre"); vrstica kode nastavi vrednost v spremenljivki in z uporabo $ obj1-> returnVar (); lahko dobimo vrednost nastavljene spremenljivke.

3. Zaščitni modifikator dostopa

Tako kot javna in zasebna tudi sama zaščitena ne podpira na ravni razreda. Tako kot zasebni modifikator tudi zaščiten omejuje dostop do spremenljivk razreda ali funkcije izven razreda. Lahko se uporablja znotraj istega razreda in iz podrazreda (razred otrok).

Za primer

<_?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 vrstici koda bo spodaj navedena napaka

Izhod:

Usodna napaka: Do zaščitene lastnosti MyAccess :: $ fist_name v E: \ wamp \ www \ twit \ index.php v vrstici 20 ni mogoče dostopati

4. Izvleček modifikator dostopa

Lahko se uporablja na razredu in funkciji, ne pa na razredni spremenljivki. Če ima kateri koli razred vsaj eno abstraktno funkcijo, mora biti deklariran kot abstraktni. Abstraktnega razreda ne moremo sprožiti. Abstraktni razred velja predvsem za nepopoln razred.

5. Modifikator končnega dostopa

Če je kateri koli razred razglašen za končnega, ga ne moremo razširiti. PHP omejuje končni razred podedovanja.

6. statični modifikator dostopa

Za izdelavo katere koli funkcije kot statične lahko uporabite ključno besedo statični. Omogoča zmožnost te funkcije, tako da jo lahko uporabimo pri ustvarjanju predmeta tistega razreda, v katerem je bil prijavljen. Primer statične metode -

public static function static Function()
(
// declaration goes here..
)

Sklep

Vedno bi morali uporabiti modifikator dostopa v skladu s poslovnimi zahtevami. Z zasebnimi in zaščitenimi lahko omejimo neposredno uporabo zasebnih spremenljivk in zasebnih metod izven deklariranega razreda.

Priporočeni članki

To je vodnik za Modifikatorje dostopa v PHP. Tukaj razpravljamo o različnih modifikatorjih dostopa v PHP s primeri in izhodi. Če želite izvedeti več, si oglejte tudi naslednji članek -

  1. Izvleček razreda PHP
  2. Vzorci v PHP
  3. Izjava o stikalu PHP
  4. Spremenljivke v PHP
  5. C Ključne besede
  6. C # ključne besede
  7. Statična metoda v PHP
  8. Statična ključna beseda v C
  9. Izjava o preklopu v C #
  10. Celoten vodnik po abstraktnem razredu v C #
  11. Popoln vodnik za statično metodo JavaScript