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 dostopa | Razred razreda | Funkcija | Spremenljiva raven |
javnosti | NA | DA | DA |
zasebno | NA | DA | DA |
zaščiten | NA | DA | DA |
izvleček | DA | DA | NA |
končna | DA | DA | NA |
Statični | NA | DA | DA |
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:
<_?phpclass 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.
<_?phpclass 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.
<_?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. 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
<_?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
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
<_?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 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 -
- Izvleček razreda PHP
- Vzorci v PHP
- Izjava o stikalu PHP
- Spremenljivke v PHP
- C Ključne besede
- C # ključne besede
- Statična metoda v PHP
- Statična ključna beseda v C
- Izjava o preklopu v C #
- Celoten vodnik po abstraktnem razredu v C #
- Popoln vodnik za statično metodo JavaScript