Bevezetés a hozzáférés-módosítókba a PHP-ben

A hozzáférés-módosító olyan módon állíthatja be a hozzáférhetőséget és a jogokat, hogy a PHP bármely más azonosítójának változóját megváltoztassuk. A PHP támogatja a különféle kulcsszavakat, hogy bármilyen változót elérhessen bármely változóhoz és az azonosítókhoz. Ezeket a kulcsszavakat hozzá lehet rendelni az osztályhoz, funkcióhoz vagy azonosítókhoz. Ezek a kulcsszavak - nyilvános, magán, védett, absztrakt, végleges stb.

Mikor kell használni a hozzáférés-módosítókat a PHP-ben?

A PHP bizonyos korlátozásokkal rendelkezik a hozzáférési módosítóján, ellentétben a Java-val. Az összes PHP hozzáférés-módosítót nem használhatjuk osztály-, funkció- és azonosító szinten. Ezeket a hozzáférés-módosítókat használhatjuk úgy, hogy üzleti vállalkozásunknak megfelelően engedélyt kell adni vagy visszavonni a programban vagy az alkalmazásban.

Itt találhatók a lista módosítók és annak alkalmazhatósága:

Hozzáférés-módosítóOsztály szintFunkciószintVáltozó szint
nyilvánosNAIGENIGEN
magánNAIGENIGEN
védettNAIGENIGEN
absztraktIGENIGENNA
végsőIGENIGENNA
StatikusNAIGENIGEN

A fenti mese NA jelöli a Nem alkalmazható. Ez azt jelenti, hogy osztályszinten nem használhatjuk a köz-, magán- és védett tevékenységeket. Az absztrakciót és a véglegeset csak osztályszinten használhatjuk.

Különböző hozzáférési módosítók a PHP-ben

Az alábbiakban a következő PHP hozzáférési módosítók találhatók

1. Nyilvános hozzáférés-módosító

A nyilvánosság az alapértelmezett módosító, mint a JAVA a PHP-ben. Ez azt jelenti, hogy ha alapértelmezés szerint nem használunk módosítót az azonosítók funkcióival, akkor azt nyilvános hozzáférés-módosítónak tekintjük. Ez az egyik legszélesebb körben alkalmazott. Amikor a funkció kódjának újrafelhasználhatóságát elérjük, általában a nyilvános hozzáférés módosítójával járunk. Mivel a nyilvánosság bárhonnan, az osztályon belül, az osztályon kívül, a kibővített osztályban is használható, és ha az újrafelhasználható nyilvános felhasználás nem korlátozódik egyetlen osztályra, akkor ezt bárhol felhasználhatjuk, ahová a fájlt belefoglaljuk. A fenti táblázatban említettek szerint nem használhatjuk ezt a nyilvános módosítót az osztálytal, a privát és védett csoportokkal együtt.

Itt az ideje, hogy megnézze a nyilvános hozzáférés módosító példáját:

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

A fenti kódban a returnVar () függvényt úgy definiáltuk, hogy hozzá ne férjen hozzá hozzáférés-módosító, tehát ez nyilvánosan működik, mivel ez a PHP alapértelmezett módosítója.

nyilvános, magán és védett nem lesz alkalmazható osztály szinten, lássuk egy példával.

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

A fenti kód az alábbiak szerint hibát fog eredményezni:

(!) Elemzési hiba: szintaxis hiba, váratlan 'nyilvános' (T_PUBLIC), azonosítót vár (T_STRING) az E: \ wamp \ www \ twit \ index.php fájlban a 2. sorban

Ez ugyanaz marad a magántulajdonban és a védett területeken is.

<_?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. Privát hozzáférés módosító

Ez a módosító számunkra a magán kulcsszót dolgozza fel vele. Az osztályban nem használhatjuk a privát módosítót. Ezt csak az osztályváltozókkal és az osztálymódszerekkel használhatjuk (amint azt a fenti táblázatban már említettük). Amikor deklaráljuk és használjuk a magántulajdonot, akkor az nem érhető el az osztály objektumával. Csak az osztályon belül használható.

Például

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

Ez a kódsor, amelyet használhatunk, mivel fel fogja hibázni. Ez az, amit nem tudunk elérni a privát változóhoz az osztály objektumával. De felhasználhatjuk ezt a beállítás és a getter módszer használatával, ahogyan a fenti kódban használjuk. $ obj1-> set_fist_name (“Jai Shre”); A kódsor megadja az értéket a változóban és a $ obj1-> returnVar () használatával; megkaphatjuk a beállított változó értékét.

3. Védett hozzáférés-módosító

Csakúgy, mint a nyilvános és a magántulajdonban, a védett is nem támogatja az osztály szintjét. A privát módosítóhoz hasonlóan a védett korlátozza az osztályváltozók vagy a funkciók elérését is az osztályon kívülről. Ugyanazon osztályon belül és az alosztályból (gyermekosztály) is használható.

Például

<_?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-> ökölnév; a kódsor az alábbi hibát fogja jelenteni

Kimenet:

Végzetes hiba: Nem érhető el a védett tulajdonság. MyAccess :: $ fist_name az E: \ wamp \ www \ twit \ index.php fájlban a 20. sorban

4. Absztrakt hozzáférés módosító

Az osztályon és a függvényen használható, nem pedig az osztályváltozón. Ha bármelyik osztálynak legalább egy elvont funkciója van, akkor azt absztraktnak kell nyilvánítani. Az abszolút osztályt nem bocsáthatjuk ki. Az absztrakt osztályt elsősorban hiányos osztálynak tekintik.

5. A végső hozzáférés módosítója

Ha bármelyik osztályt végsőnek nyilvánítják, akkor nem bővíthetjük azt. A PHP korlátozza a végső osztály öröklését.

6. Statikus hozzáférés módosító

A statikus kulcsszó felhasználható bármilyen statikus funkcióként. Lehetővé teszi ennek a funkciónak a képességét, hogy felhasználható legyen annak az osztálynak az objektumainak létrehozására, amelyben deklarálták. Példa statikus módszerre -

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

Következtetés

Az üzleti igényeknek megfelelően mindig használjuk a hozzáférés-módosítót. A privát és védett felhasználással korlátozhatjuk a magánváltozók és a privát módszerek közvetlen használatát a deklarált osztályon kívülről.

Ajánlott cikkek

Ez egy útmutató a hozzáférés-módosítókhoz a PHP-ben. Itt tárgyaljuk a PHP különféle hozzáférési módosítóit a példákkal és outputokkal. A következő cikkben további információkat is megnézhet -

  1. Absztrakt osztály a PHP-ben
  2. Minták a PHP-ben
  3. PHP kapcsoló nyilatkozat
  4. Változók a PHP-ben
  5. C Kulcsszavak
  6. C # Kulcsszavak
  7. Statikus módszer a PHP-ben
  8. Statikus kulcsszó a C
  9. Váltás a C # számban
  10. Teljes útmutató a C osztály absztrakt osztályához
  11. Teljes útmutató a JavaScript statikus módszeréhez

Kategória: