Ú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řídyFunkční úroveňVariabilní úroveň
veřejnostNAANOANO
soukroméNAANOANO
chráněnýNAANOANO
abstraktníANOANONA
fináleANOANONA
StatickýNAANOANO

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:

<_?php
class 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.

<_?php
class 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é.

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

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

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

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

  1. Abstraktní třída v PHP
  2. Vzory v PHP
  3. Příkaz přepínání PHP
  4. Proměnné v PHP
  5. C Klíčová slova
  6. C # Klíčová slova
  7. Statická metoda v PHP
  8. Statické klíčové slovo v C
  9. Prohlášení o přepnutí v C #
  10. Kompletní průvodce abstraktní třídou v C #
  11. Kompletní průvodce statickou metodou JavaScript

Kategorie: