Introducere în modificatorii de acces în PHP
Modificatorul de acces este o modalitate prin care putem seta un scop de accesibilitate și drepturi la variabila oricărui alt identificator din PHP. PHP acceptă diverse cuvinte cheie pentru a face ca orice variabilă să poată accesa orice variabilă și identificatori. Putem atribui aceste cuvinte cheie clasei, funcției sau identificatorilor. Aceste cuvinte cheie - publice, private, protejate, abstracte, finale etc.
Când să utilizați modificatorii de acces în PHP?
PHP are unele limitări asupra modificatorului de acces, spre deosebire de Java. Nu putem folosi tot modificatorul de acces PHP la nivelul clasei, nivelul funcțiilor și nivelul identificatorului. Putem folosi aceste modificatoare de acces conform necesității afacerii noastre pentru a acorda permisiunea sau a revoca permisiunea pe parcursul programului sau al aplicației.
Iată modificatorii listei și dacă este aplicabil sau nu:
Modificator de acces | Nivelul clasei | Nivelul funcției | Nivel variabil |
public | N / A | DA | DA |
privat | N / A | DA | DA |
protejat | N / A | DA | DA |
abstract | DA | DA | N / A |
final | DA | DA | N / A |
Static | N / A | DA | DA |
În povestea de mai sus, NA denotă Notificabil. Asta înseamnă că nu putem folosi publicul, privat și protejat la nivel de clasă. Putem folosi rezumatul și finalul doar la nivelul clasei.
Diverse modificatoare de acces în PHP
Iată următoarele modificatoare de acces în mențiunea PHP mai jos
1. Modificator de acces public
Publicul este modificatorul implicit precum JAVA în PHP. Asta înseamnă că dacă nu folosim în mod implicit niciun modificator cu funcțiile identificatorilor, acesta este considerat un modificator de acces public. Acesta este unul dintre cele mai utilizate pe scară largă. În momentul în care ajungem la reutilizarea codului funcției, de obicei mergem cu modificatorul de acces public. Deoarece, publicul poate fi utilizat de oriunde, în cadrul clasei, cu siguranță, în afara clasei, în clasa extinsă și dacă acel public reutilizabil nu este legat de nicio clasă, îl putem folosi oriunde am include fișierul. Așa cum am menționat în tabelul de mai sus, nu putem folosi acest modificator public cu clasa împreună cu privat și protejat.
Acum, este timpul să vedeți exemplul modificatorului de acces public:
<_?phpclass MyAccess (
var $var = "This is first var";
// print var variable value
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();$obj1->returnVar();
?>
În codul de mai sus , funcția returnVar () a fost definită fără niciun modificator de acces cu ea, astfel încât acesta va funcționa la fel de public, deoarece acesta este modificatorul implicit în limbajul PHP.
public, privat și protejat nu va fi aplicabil la nivelul clasei, să vedem cu un exemplu.
<_?phpclass public MyAccess (
var $var = "This is first var";
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();
$obj1->returnVar();
?>
Codul de mai sus va da o eroare așa cum este menționat mai jos:
(!) Eroare de analiză: eroare de sintaxă, „public” neașteptat (T_PUBLIC), identificator care așteaptă (T_STRING) în E: \ wamp \ www \ twit \ index.php pe linia 2
Acest lucru rămâne același și pentru privat și protejat.
<_?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. Modificator de acces privat
Acest modificator ne permite cuvântul cheie privat pentru a procesa cu acesta. Nu putem folosi modificatorul privat cu clasa. Putem folosi acest lucru doar cu variabilele de clasă și metodele de clasă (așa cum am menționat în tabelul de mai sus). Când declaram și folosim privat, atunci nu poate fi accesat folosind obiectul clasei. Poate fi folosit doar în cadrul clasei.
De exemplu
<_?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
Această linie de cod pe care o putem folosi, deoarece va veni cu eroarea. Este ceva ce nu putem accesa variabila privată folosind obiectul clasei respective. Dar putem folosi acest lucru folosind setarea și metoda getter așa cum folosim în codul de mai sus. $ obj1-> set_fist_name („Jai Shre”); linia de cod va seta valoarea în variabilă și folosind $ obj1-> returnVar (); putem obține valoarea variabilei setate.
3. Modificator de acces protejat
La fel ca publicul și privat, protejarea în sine nu acceptă la nivelul clasei. Ca și un modificator privat, protejat restricționează, de asemenea, accesul variabilelor clasei sau funcției din afara clasei. Poate fi utilizat în cadrul aceleiași clase și din subclase (clasa copil).
De exemplu
<_?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; linia de cod va da eroarea de mai jos
ieşire:
Eroare fatală: Nu se poate accesa proprietatea protejată MyAccess :: $ fist_name în E: \ wamp \ www \ twit \ index.php pe linia 20
4. Modificator de acces abstract
Poate fi folosit pe clasă și funcție, nu pe variabila de clasă. Dacă orice clasă are cel puțin o funcție abstractă, atunci ea trebuie declarată abstract. Nu putem iniția clasa abstractă. O clasă abstractă este considerată în principal ca o clasă incompletă.
5. Modificatorul de acces final
Dacă orice clasă este declarată finală, nu putem extinde acea clasă. PHP restricționează moștenirea clasei finale.
6. Modificator de acces static
Cuvântul cheie static poate fi utilizat pentru a face orice funcție ca statică. Permite abilitatea acelei funcții, astfel încât să se poată folosi în crearea unui obiect al clasei în care a fost declarată. Exemplu de metodă statică -
public static function static Function()
(
// declaration goes here..
)
Concluzie
Ar trebui să utilizăm întotdeauna modificatorul de acces conform cerințelor de afaceri. Folosind privat și protejat, putem restricționa utilizarea directă a variabilelor private și a metodelor private din afara clasei declarate.
Articole recomandate
Acesta este un ghid pentru modificatorii de acces în PHP. Aici vom discuta despre diferiți modificatori de acces în PHP cu exemple și rezultate. De asemenea, puteți consulta articolul următor pentru a afla mai multe -
- Abstract Class in PHP
- Modele în PHP
- Declarație de comutare PHP
- Variabile în PHP
- C Cuvinte cheie
- C # Cuvinte cheie
- Metoda statică în PHP
- Cuvânt cheie statică în C
- Declarație de comutare în C #
- Ghid complet la clasa abstractă în C #
- Ghid complet pentru metoda statică JavaScript