Úvod do modifikátorů přístupu v PHP
Modifikátor přístupu je způsob, kterým můžeme nastavit rozsah přístupu a práva na proměnnou jiných identifikátorů v PHP. PHP podporuje různá klíčová slova, díky nimž lze libovolnou proměnnou získat přístup k jakékoli proměnné a identifikátorům. Tato klíčová slova můžeme přiřadit ke třídě, funkci nebo identifikátorům. Tato klíčová slova - veřejná, soukromá, chráněná, abstraktní, finální atd.
Kdy použít modifikátory přístupu v PHP?
Na rozdíl od jazyka Java má PHP určitá omezení, pokud jde o jeho modifikátor přístupu. Nemůžeme použít všechny modifikátory přístupu PHP na úrovni třídy, úrovně funkcí a identifikátoru. Tyto modifikátory přístupu můžeme použít podle potřeby naší firmy k udělení povolení nebo zrušení povolení v celém programu nebo aplikaci.
Zde jsou modifikátory seznamu a to, zda je použitelné nebo ne:
Modifikátor přístupu | Úroveň třídy | Funkční úroveň | Variabilní úroveň |
veřejnost | NA | ANO | ANO |
soukromé | NA | ANO | ANO |
chráněný | NA | ANO | ANO |
abstraktní | ANO | ANO | NA |
finále | ANO | ANO | NA |
Statický | NA | ANO | ANO |
Ve výše uvedeném příběhu NA označuje Nepoužije se. To znamená, že nemůžeme používat veřejný, soukromý a chráněný na úrovni třídy. Abstrakt a finále můžeme použít pouze na úrovni třídy.
Různé modifikátory přístupu v PHP
Níže jsou uvedeny následující modifikátory přístupu v PHP
1. Modifikátor veřejného přístupu
Veřejnost je v PHP výchozí modifikátor jako JAVA. To znamená, že pokud ve výchozím nastavení nepoužíváme žádný modifikátor s funkcemi identifikátorů, bude to považováno za modifikátor veřejného přístupu. To je jeden z nejvíce používaných. V okamžiku, kdy se dostaneme k opětovnému použití kódu funkce, obvykle jdeme s modifikátorem přístupu veřejnosti. Protože veřejnost může být použita odkudkoli, v rámci třídy, jistě, mimo třídu, v rozšířené třídě, a pokud tato veřejná opakovaně použitelná není omezena na žádnou třídu, můžeme ji použít kdekoli, do které soubor vložíme. Jak je uvedeno ve výše uvedené tabulce, nemůžeme použít tento veřejný modifikátor se třídou spolu se soukromými a chráněnými také.
Nyní je čas vidět příklad modifikátoru veřejného přístupu:
<_?phpclass MyAccess (
var $var = "This is first var";
// print var variable value
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();$obj1->returnVar();
?>
Ve výše uvedeném kódu byla funkce returnVar () definována bez modifikátoru přístupu, takže bude fungovat jako veřejný, protože se jedná o výchozí modifikátor v jazyce PHP.
veřejný, soukromý a chráněný nebude použitelný na úrovni třídy, podívejme se na příklad.
<_?phpclass public MyAccess (
var $var = "This is first var";
function returnVar() (
echo $this->var;
)
)
$obj1 = new MyAccess();
$obj1->returnVar();
?>
Výše uvedený kód způsobí chybu, jak je uvedeno níže:
(!) Chyba analýzy: chyba syntaxe, neočekávaná „veřejná“ (T_PUBLIC), očekávaný identifikátor (T_STRING) v E: \ wamp \ www \ twit \ index.php na řádku 2
To platí pro soukromé i chráněné.
<_?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. Modifikátor soukromého přístupu
Tento modifikátor nám soukromé klíčové slovo zpracovat. S touto třídou nemůžeme použít soukromý modifikátor. Můžeme to použít pouze s proměnnými třídy a metodami třídy (jak jsme zmínili ve výše uvedené tabulce). Když deklarujeme a používáme soukromé, nelze k němu přistupovat pomocí objektu třídy. Lze použít pouze v rámci třídy.
Například
<_?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
Tento řádek kódu můžeme použít, protože dojde k chybě. To je něco, co nemůžeme získat přístup k soukromé proměnné pomocí objektu této třídy. Můžeme to však použít pomocí jeho nastavení a metody getteru, jak používáme ve výše uvedeném kódu. $ obj1-> set_fist_name („Jai Shre“); řádek kódu nastaví hodnotu v proměnné a použije $ obj1-> returnVar (); můžeme získat hodnotu nastavené proměnné.
3. Modifikátor chráněného přístupu
Stejně jako veřejné a soukromé, chráněná sama o sobě nepodporuje na úrovni třídy. Stejně jako soukromý modifikátor chráněný také omezuje přístup k proměnným třídy nebo funkci z vnější strany třídy. Může být použit v rámci stejné třídy az podtřídy (podřízená třída).
Například
<_?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; řádek kódu udává níže uvedenou chybu
Výstup:
Závažná chyba: Nelze získat přístup k chráněné vlastnosti MyAccess :: $ fist_name v E: \ wamp \ www \ twit \ index.php na řádku 20
4. Abstraktní modifikátor přístupu
Může být použit na třídu a funkci, nikoli na proměnnou třídy. Pokud některá třída má alespoň jednu abstraktní funkci, musí být deklarována jako abstraktní. Nemůžeme vytvořit instanci abstraktní třídy. Abstraktní třída je považována hlavně za neúplnou třídu.
5. Modifikátor konečného přístupu
Pokud je některá třída prohlášena za finální, nemůžeme ji rozšířit. PHP omezuje zdědění poslední třídy.
6. Modifikátor statického přístupu
Statické klíčové slovo lze použít k tomu, aby jakákoli funkce byla statická. Umožňuje schopnost této funkce, aby bylo možné použít při vytváření objektu té třídy, ve které byla deklarována. Příklad statické metody -
public static function static Function()
(
// declaration goes here..
)
Závěr
Vždy bychom měli používat modifikátor přístupu podle obchodních požadavků. Pomocí soukromých a chráněných můžeme omezit přímé použití soukromých proměnných a soukromých metod z vně deklarované třídy.
Doporučené články
Toto je průvodce přístupovými modifikátory v PHP. Zde diskutujeme různé modifikátory přístupu v PHP s příklady a výstupy. Další informace naleznete také v následujícím článku -
- Abstraktní třída v PHP
- Vzory v PHP
- Příkaz přepínání PHP
- Proměnné v PHP
- C Klíčová slova
- C # Klíčová slova
- Statická metoda v PHP
- Statické klíčové slovo v C
- Prohlášení o přepnutí v C #
- Kompletní průvodce abstraktní třídou v C #
- Kompletní průvodce statickou metodou JavaScript