Sissejuhatus PHP-i pääsemoodulitesse
Juurdepääsu modifikaator on viis, mille abil saame PHP-s määrata kõigi muude identifikaatorite muutujatele juurdepääsetavuse ulatuse ja õigused. PHP toetab mitmesuguseid märksõnu, et muuta iga muutuja, et pääseda juurde igale muutujale ja identifikaatoritele. Neid märksõnu saame omistada klassile, funktsioonile või identifikaatoritele. Need märksõnad - avalik, privaatne, kaitstud, abstraktne, lõplik jne.
Millal kasutada juurdepääsu muutjaid PHP-s?
Erinevalt Java'st on PHP-l oma juurdepääsu modifikaatoril mõned piirangud. Me ei saa kasutada kõiki PHP-juurdepääsu muutjaid klassi tasemel, funktsioonide tasemel ja identifikaatori tasemel. Saame neid juurdepääsu modifikaatoreid kasutada vastavalt vajadusele, mille kohaselt peame kogu programmi või rakenduse jooksul luba andma või loa tühistama.
Siin on loetelu modifikaatorid ja kas see on kohaldatav või mitte:
Juurdepääsu modifikaator | Klassi tase | Funktsiooni tase | Muutuv tase |
avalik | NA | JAH | JAH |
privaatne | NA | JAH | JAH |
kaitstud | NA | JAH | JAH |
abstraktne | JAH | JAH | NA |
lõplik | JAH | JAH | NA |
Staatiline | NA | JAH | JAH |
Ülaltoodud jutus tähistab NA mittekohaldatavat. See tähendab, et me ei saa klassitasemel avalikku, privaatset ja kaitset kasutada. Me saame kasutada abstraktset ja lõplikku ainult klassi tasemel.
Mitmesugused juurdepääsu modifikaatorid PHP-s
Allpool on toodud järgmised PHP-i juurdepääsu muutjad
1. Avaliku juurdepääsu muutja
Avalikkus on vaikimisi modifikaator nagu Java PHA-s. See tähendab, et kui me vaikimisi ei kasuta ühtegi identifikaatorite funktsioonidega modifikaatorit, loetakse seda avaliku juurdepääsu modifikaatoriks. See on üks kõige laialdasemalt kasutatavaid. Kui funktsiooni koodi taaskasutatavuse juurde jõuame, läheme tavaliselt avaliku juurdepääsu modifikaatorisse. Kuna avalikkust saab kindlasti kasutada kõikjal, klassis, väljaspool klassi, laiendatud klassis ja kui seda taaskasutatavat avalikkust ei piirata ühegi klassiga, võime seda kasutada kõikjal, kuhu faili lisame. Nagu ülaltoodud tabelis mainitud, ei saa me seda avalikku modifikaatorit klassiga koos privaatse ja kaitstudga kasutada.
Nüüd on aeg vaadata avaliku juurdepääsu muutja näidet:
<_?phpclass MyAccess (
var $var = "This is first var";
// print var variable value
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();$obj1->returnVar();
?>
Ülaltoodud koodis on defineeritud funktsioon returnVar (), millel pole juurdepääsu modifikaatorit, seega töötab see avalikuna, kuna see on PHP-i vaikemuundur.
avalik, privaatne ja kaitstud ei ole klassi tasemel rakendatav, vaatame seda näitega.
<_?phpclass public MyAccess (
var $var = "This is first var";
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();
$obj1->returnVar();
?>
Ülaltoodud kood annab vea, nagu allpool mainitud:
(!) Parsimisviga: süntaksiviga, ootamatu „avalik” (T_PUBLIC), oodates identifikaatorit (T_STRING) E: \ wamp \ www \ twit \ index.php real 2. real
See jääb samaks ka era- ja kaitstud isikutele.
<_?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. Privaatse juurdepääsu muutja
See modifikaator annab meile privaatse märksõna, mida sellega töödelda. Me ei saa klassiga privaatset modifikaatorit kasutada. Saame seda kasutada ainult klassimuutujate ja klassimeetoditega (nagu oleme ülaltoodud tabelis maininud). Kui kuulutame ja kasutame privaatset, ei saa sellele klassi objekti kaudu juurde pääseda. Seda saab kasutada ainult klassis.
Näiteks
<_?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
Sellel koodireal, mida saame kasutada, ilmneb tõrge. See on midagi, millele me selle klassi objekti kasutades privaatsele muutujale juurde ei pääse. Kuid me võime seda kasutada, kasutades selle seadistust ja getter-meetodit, nagu me kasutame ülaltoodud koodi. $ obj1-> set_fist_name (“Jai Shre”); koodirida seab muutuja väärtuse ja kasutades nuppu $ obj1-> returnVar (); saame määratud muutuja väärtuse.
3. Kaitstud juurdepääsu modifikaator
Nii nagu avalik ja privaatne, ei toeta ka kaitstud end klassi tasemel. Nagu privaatne modifikaator, piirab kaitstud ka klassi muutujate või funktsioonide juurdepääsu klassist väljapoole. Seda saab kasutada samas klassis ja alaklassist (lasteklass).
Näiteks
<_?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-> rusikas_nimi; koodireal kuvatakse järgmine tõrge
Väljund:
Saatuslik viga: kaitstud atribuudile ei pääse juurde MyAccess :: $ fist_name kataloogis E: \ wamp \ www \ twit \ index.php 20. real
4. Abstraktse juurdepääsu modifikaator
Seda saab kasutada klassil ja funktsioonil, mitte klassimuutujal. Kui mõnel klassil on vähemalt üks abstraktne funktsioon, tuleb see kuulutada abstraktseks. Me ei saa abstraktset klassi kiirendada. Abstraktset klassi peetakse peamiselt mittetäielikuks klassiks.
5. Lõplik juurdepääsu muutja
Kui mõni klass kuulutatakse lõplikuks, ei saa me seda klassi pikendada. PHP piirab lõpuklassi pärimist.
6. Staatilise juurdepääsu modifikaator
Staatilist märksõna saab kasutada mis tahes funktsiooni muutmiseks staatiliseks. See võimaldab selle funktsiooni funktsiooni, nii et seda saab kasutada selle klassi objekti loomisel, milles see on deklareeritud. Staatilise meetodi näide -
public static function static Function()
(
// declaration goes here..
)
Järeldus
Peaksime alati kasutama juurdepääsu modifikaatorit vastavalt ärinõuetele. Kasutades privaatset ja kaitstud, saame piirata privaatsete muutujate ja privaatsete meetodite otsest kasutamist väljastpoolt deklareeritud klassi.
Soovitatavad artiklid
See on juhend pääsemuunduritele PHP-s. Siin käsitleme PHP-s mitmesuguseid juurdepääsu modifikaatoreid koos näidete ja väljunditega. Lisateabe saamiseks võite vaadata ka järgmist artiklit -
- Abstraktne klass PHP-s
- Mustrid PHP-s
- PHP-lülituse avaldus
- Muutujad PHP-s
- C märksõnad
- C # märksõnad
- Staatiline meetod PHP-s
- Staatiline märksõna C-s
- Lülita avaldus C # -s
- C-klassi abstraktklassi täielik juhend
- JavaScripti staatilise meetodi täielik juhend