Introduksjon til Access Modifiers i PHP

Tilgangsmodifiserer er en måte vi kan angi tilgjengelighetsomfang og rettigheter til variabelen til andre identifikatorer i PHP. PHP støtter forskjellige nøkkelord for å lage en hvilken som helst variabel for å få tilgang til en hvilken som helst variabel og identifikatorene. Vi kan tilordne disse nøkkelordene til klassen, funksjonen eller identifikatorene. Disse nøkkelordene - offentlige, private, beskyttede, abstrakte, endelige, etc.

Når skal jeg bruke Access Modifiers i PHP?

PHP har noen begrensninger i sin tilgangsmodifiserer, i motsetning til Java. Vi kan ikke bruke alle PHP-tilgangsmodifiserere på klassetrinn, funksjonsnivå og identifikasjonsnivå. Vi kan bruke disse tilgangsmodifisererne i henhold til vår virksomhetsbehov for å gi tillatelse eller tilbakekalle tillatelse gjennom hele programmet eller applikasjonen.

Her er listemodifiseringene og om det er aktuelt eller ikke:

TilgangsmodifisererKlassetrinnFunksjonsnivåVariabelt nivå
offentligNAJAJA
privatNAJAJA
beskyttetNAJAJA
abstraktJAJANA
endeligJAJANA
statiskNAJAJA

I den ovennevnte historien betegner NA det som ikke er relevant. Det betyr at vi ikke kan bruke det offentlige, private og beskyttede på klassetrinn. Vi kan bruke abstraktet og finalen bare på klassetrinn.

Ulike tilgangsmodifiseringer i PHP

Her er følgende Access Modifiers i PHP omtale nedenfor

1. Modifiser for offentlig tilgang

Offentligheten er standard modifiserer som JAVA i PHP. Det betyr at hvis vi ikke bruker noen modifikatorer med funksjonene til identifikatorene som standard, blir det betraktet som en offentlig tilgangsmodifiserer. Dette er en av de mest brukte. I det øyeblikket vi kommer til gjenbrukbarhet av funksjonskoden, går vi vanligvis med modifisereren for offentlig tilgang. Fordi publikum kan brukes hvor som helst, i klassen helt sikkert, utenfor klassen, i den utvidede klassen, og hvis den offentlige gjenbrukbare ikke er begrenset til noen klasse, kan vi bruke det hvor som helst vi inkluderer filen. Som nevnt i tabellen ovenfor kan vi ikke bruke denne offentlige modifikatoren med klassen sammen med private og beskyttede også.

Nå er det på tide å se eksemplet på modifikatoren for offentlig tilgang:

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

I koden over er returnVar () -funksjonen blitt definert uten tilgangsmodifiserer med den, så denne vil fungere som offentlig, ettersom dette er standardmodifisereren på PHP-språket.

offentlig, privat og beskyttet vil ikke være aktuelt på klassetrinn, la oss se det med et eksempel.

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

Koden ovenfor vil gi en feil som nevnt nedenfor:

(!) Analysefeil: syntaksfeil, uventet 'offentlig' (T_PUBLIC), forventer identifikator (T_STRING) i E: \ wamp \ www \ twit \ index.php på linje 2

Dette forblir det samme for private og beskyttede også.

<_?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. Modifiser for privat tilgang

Denne modifiserer oss det private nøkkelordet som skal behandles med det. Vi kan ikke bruke den private modifisereren med klassen. Vi kan bruke dette med klassevariablene og klassemetodene (som vi har nevnt i tabellen ovenfor). Når vi erklærer og bruker det private, kan det ikke nås ved bruk av objektets klasse. Det kan bare brukes i klassen.

For eksempel

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

Denne kodelinjen kan vi bruke, da denne vil oppstå feilen. Dette er noe vi ikke får tilgang til den private variabelen ved å bruke objektet til den klassen. Men vi kan bruke dette ved å bruke dens innstilling og getter-metoden som vi bruker i koden ovenfor. $ obj1-> set_fist_name (“Jai Shre”); kodelinje vil sette verdien i variabelen og bruke $ obj1-> returnVar (); vi kan få verdien på den innstilte variabelen.

3. Beskyttet tilgangsmodifiserer

Akkurat som offentlig og privat støtter ikke beskyttet seg selv på klassetrinn. Som en privat modifikator begrenser beskyttet også tilgangen til klassevariablene eller funksjonen utenom klassen. Den kan brukes i samme klasse og fra underklasse (barneklasse).

For eksempel

<_?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();
?>

ekko $ obj1-> fist_name; kodelinjen gir feilen nedenfor

Produksjon:

Dødelig feil: Kan ikke få tilgang til beskyttet eiendom MyAccess :: $ fist_name i E: \ wamp \ www \ twit \ index.php på linje 20

4. Abstrakt tilgangsmodifiserer

Den kan brukes på klassen og funksjonen, ikke på klassevariabelen. Hvis noen klasse har minst en abstrakt funksjon, må den erklæres som en abstrakt. Vi kan ikke innlede den abstrakte klassen. En abstrakt klasse anses hovedsakelig som en ufullstendig klasse.

5. Endelig tilgangsmodifiserer

Hvis noen klasse blir erklært som en finale, kan vi ikke utvide den klassen. PHP begrenser sluttklassen fra å bli arvet.

6. Statisk tilgangsmodifiserer

Det statiske nøkkelordet kan brukes til å gjøre enhver funksjon som statisk. Den muliggjør funksjonen til den funksjonen slik at man kan bruke i å lage et objekt av den klassen som den er erklært i. Eksempel på statisk metode -

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

Konklusjon

Vi bør alltid bruke tilgangsmodifikatoren i henhold til virksomhetens krav. Ved bruk av private og beskyttede kan vi begrense den direkte bruken av private variabler og private metoder utenfra den erklærte klassen.

Anbefalte artikler

Dette er en guide til Access Modifiers i PHP. Her diskuterer vi de forskjellige tilgangsmodifiseringene i PHP med eksemplene og utgangene. Du kan også se på følgende artikkel for å lære mer -

  1. Abstrakt klasse i PHP
  2. Mønstre i PHP
  3. PHP-brytererklæring
  4. Variabler i PHP
  5. C nøkkelord
  6. C # Stikkord
  7. Statisk metode i PHP
  8. Statisk nøkkelord i C
  9. Bytt uttalelse i C #
  10. Komplett guide til Abstract Class i C #
  11. Komplett guide til JavaScript-statisk metode