Vad är skillnaden mellan offentlig, privat och skyddad i PHP

Vad Ar Skillnaden Mellan Offentlig Privat Och Skyddad I Php



PHP används ofta för att utveckla dynamiska webbplatser och webbapplikationer. PHP tillhandahåller nyckelord som kallas åtkomstmodifierare . Åtkomstmodifieringsegenskaperna används för att komma åt variabel-, klass- eller klassegenskaperna på tre olika sätt, som t.ex offentlig , privat, och skyddad . I den här artikeln kommer vi att diskutera dessa åtkomstmodifierare och bestämma skillnaden mellan dessa tre åtkomstmodifierare i PHP-programmeringsspråket.

Vad är åtkomstmodifierare i PHP?

I PHP är åtkomstmodifierare viktiga eftersom de ger användarna möjlighet att reglera synligheten och tillgängligheten för klassattribut och metoder. Som ett resultat av detta ger det inkapsling och datasäkerhet, och följaktligen skyddas klassmedlemmarna från obehörig åtkomst eller ändring. Dessutom gör det underhållet av kod och felsökning enklare.







Typer av åtkomstmodifierare

De tre åtkomstmodifierare som finns i PHP diskuteras nedan:



  • Offentlig: Du kan komma åt en offentlig metod utanför klassen. Detta innebär att vilken kod som helst kan komma åt, ändra och anropa en offentlig metod.
  • Privat: Att komma åt den privata metoden är begränsad till själva klassen. Detta innebär att ingen av de andra koderna, även om det är en barnklass, tillåts komma åt en privat metod eller läsa det privata värdet.
  • Skyddad: En skyddad metod är endast tillgänglig inom en klass och klasser som är relaterade till den; det kan inte användas utanför dessa klasser. Alla källkoder som behöver komma åt klassinstansen kan läsa eller ändra data för en skyddad egenskap eller anropa en skyddad funktion.

Skillnaden mellan offentliga, privata och skyddade åtkomstmodifierare i PHP

Fast egendom offentlig Privat Skyddad
Tillgänglighet Dessa åtkomstmodifierare kan vara tillgängliga var som helst, till exempel inuti och utanför koden. Specifikationer för privat åtkomst är endast tillgängliga inom klassen. Det kan vara tillgängligt i klassen och dess relaterade (barn)klasser och metoder.
Flexibilitet Den största flexibiliteten erbjuds av offentliga resurser eftersom de kan nås var som helst. Eftersom de är exklusivt tillgängliga inom klassen, erbjuder dessa metoder minst flexibilitet. Den skyddade metoden ger måttlig flexibilitet eftersom barnklasser kan komma åt dessa metoder.
Inkapsling Annan kod kan komma åt eller kapsla in offentliga metoder, men programmeraren har kontroll över detta. En privat metod är inkapslad i klassen, vilket gör det omöjligt för extern kod att komma åt eller uppdatera dem. Dess inkapslingsprocess är densamma som den offentliga metoden i PHP.
säkerhet Offentliga metoder är tillgängliga från var som helst. Så de ger en låg säkerhetsnivå i koden. Den maximala säkerhetsnivån tillhandahålls av modifierare för privat åtkomst eftersom de är helt inneslutna i klassen. Eftersom de endast kan nås av medlemmar i klassen och dess underklasser, erbjuder skyddade åtkomstmodifierare en rimlig säkerhetsnivå.

Låt oss se skillnaden mellan dessa åtkomstspecifikationer med ett enkelt programexempel i PHP.



Exempel: PHP-program med modifierare för privat, offentlig och skyddad åtkomst





Följande exempel visar skillnaden mellan offentlig, privat och skyddad i en exempelkod:

< ?php
klass MyClass {
offentlig $public = 'Public-variabel. \n ' ; // Kan nås från var som helst
privat $privat = 'Privat-variabel. \n ' ; // Kan endast nås från klassen
skyddad $skyddad = 'Skyddad-variabel.' ; // Kan nås inom klassen och alla underklasser

offentlig fungera getPrivate ( ) {
lämna tillbaka $det här - > privat;
}

offentlig fungera getProtected ( ) {
lämna tillbaka $det här - > skyddad;
}
}
$obj = ny MyClass ( ) ;

eko $obj - > offentlig;
eko $obj - > getPrivate ( ) ;
eko $obj - > getProtected ( ) ;
? >



I programmet ovan definierade vi en klass som Min klass med en allmän egendom som $public som kunde komma åt var som helst i kod, en privat egendom som $privat , och en skyddad egendom kallas $skyddad , därför kan vi inte komma åt privata och skyddade specifikationer direkt från utanför klassen. Som vi använde två offentliga metoder som kallas getPrivate() och getProtected() som returnerar värdena för variablerna för privata respektive skyddade egenskaper, och utdata ges nedan:

Slutsats

PHP erbjuder många funktioner och en av dem är nyckelorden som kallas åtkomstmodifierare. Dessa åtkomstmodifierare ger olika åtkomstmönster till data för klasser i PHP-programmet. I handledningen ovan har vi sett skillnaden mellan åtkomstmodifierare när det gäller tillgänglighet, inkapsling, flexibilitet och säkerhet som erbjuds i PHP.