Hva er forskjellen mellom offentlig, privat og beskyttet i PHP

Hva Er Forskjellen Mellom Offentlig Privat Og Beskyttet I Php



PHP er mye brukt for å utvikle dynamiske nettsteder og webapplikasjoner. PHP gir nøkkelord kjent som tilgangsmodifikatorer . Egenskapene for tilgangsmodifikator brukes til å få tilgang til variabel-, klasse- eller klasseegenskapene på tre forskjellige måter, som f.eks offentlig , privat, og beskyttet . I denne artikkelen vil vi diskutere disse tilgangsmodifikatorene og bestemme forskjellen mellom disse tre tilgangsmodifikatorene i PHP-programmeringsspråket.

Hva er Access Modifiers i PHP?

I PHP er tilgangsmodifikatorer avgjørende fordi de gir brukerne muligheten til å regulere synligheten så vel som tilgjengeligheten til klasseattributter og metoder. Som et resultat av dette gir det innkapsling og datasikkerhet, og dermed er klassemedlemmene beskyttet mot uautorisert tilgang eller endring. Dessuten gjør det vedlikehold av kode og feilsøking enklere.







Typer tilgangsmodifikatorer

De tre tilgangsmodifikatorene som finnes i PHP er diskutert nedenfor:



  • Offentlig: Du kan få tilgang til en offentlig metode fra utenfor klassen. Dette innebærer at enhver kode kan få tilgang til, endre og påkalle en offentlig metode.
  • Privat: Å få tilgang til den private metoden er begrenset til selve klassen. Dette innebærer at ingen av de andre kodene, selv om det er en barneklasse, har tillatelse til å få tilgang til en privat metode eller lese den private verdien.
  • Beskyttet: En beskyttet metode er bare tilgjengelig i en klasse og klasser som er relatert til den; den kan ikke brukes utenfor disse klassene. Enhver kildekode som trenger tilgang til klasseforekomsten kan lese eller endre dataene til en beskyttet eiendom eller påkalle en beskyttet funksjon.

Forskjellen mellom offentlige, private og beskyttede tilgangsmodifikatorer i PHP

Eiendom Offentlig Privat Beskyttet
tilgjengelighet Disse tilgangsmodifikatorene kan være tilgjengelige hvor som helst, for eksempel innenfor og utenfor koden. Spesifikasjoner for privat tilgang er kun tilgjengelig innenfor klassen. Den kan være tilgjengelig i klassen og dens relaterte (barne) klasser og metoder.
Fleksibilitet Den største fleksibiliteten tilbys av offentlige ressurser, da de kan nås fra hvor som helst. Siden de er eksklusivt tilgjengelige innenfor klassen, tilbyr disse metodene minst fleksibilitet. Den beskyttede metoden gir moderat fleksibilitet ettersom barneklasser kan få tilgang til disse metodene.
Innkapsling Annen kode kan få tilgang til eller innkapsle offentlige metoder, men programmereren har kontroll over dette. En privat metode er innkapslet inne i klassen, noe som gjør det umulig for ekstern kode å få tilgang til eller oppdatere dem. Innkapslingsprosessen er den samme som den offentlige metoden i PHP.
Sikkerhet Offentlige metoder er tilgjengelige fra hvor som helst. Så de gir et lavt sikkerhetsnivå i koden. Det maksimale sikkerhetsnivået er gitt av private tilgangsmodifikatorer fordi de er fullstendig inneholdt i klassen. Siden de bare kan nås av medlemmer av klassen og dens underklasser, tilbyr beskyttede tilgangsmodifikatorer et rimelig sikkerhetsnivå.

La oss se forskjellen mellom disse tilgangsspesifikasjonene ved å bruke et enkelt programeksempel i PHP.



Eksempel: PHP-program med modifikatorer for privat, offentlig og beskyttet tilgang





Følgende eksempel viser forskjellen mellom offentlig, privat og beskyttet i en eksempelkode:

< ?php
klasse MyClass {
offentlig $public = 'Offentlig-variabel. \n ' ; // Kan nås fra hvor som helst
privat $privat = 'Privat-variabel. \n ' ; // Kan kun nås fra klassen
beskyttet $beskyttet = 'Beskyttet-variabel.' ; // Kan nås innenfor klassen og eventuelle underklasser

offentlig funksjon getPrivate ( ) {
komme tilbake $dette - > privat;
}

offentlig funksjon getProtected ( ) {
komme tilbake $dette - > beskyttet;
}
}
$obj = ny MyClass ( ) ;

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



I programmet ovenfor definerte vi en klasse som Klassen min med en offentlig eiendom som $public som kunne få tilgang hvor som helst i kode, en privat eiendom som $privat , og en vernet eiendom kalt $beskyttet , derfor kan vi ikke få tilgang til private og beskyttede spesifikasjoner direkte fra utenfor klassen. Som vi brukte to offentlige metoder kalt getPrivate() og getProtected() som returnerer verdiene til henholdsvis de private og beskyttede egenskapsvariablene, og utdataene er gitt nedenfor:

Konklusjon

PHP tilbyr mange funksjoner og en av dem er nøkkelordene som kalles access modifiers. Disse tilgangsmodifikatorene gir forskjellige tilgangsmønstre til dataene til klasser i PHP-programmet. I opplæringen ovenfor har vi sett forskjellen mellom tilgangsmodifikatorer når det gjelder tilgjengelighet, innkapsling, fleksibilitet og sikkerhet som tilbys i PHP.