PHP s'utilitza àmpliament per desenvolupar llocs web dinàmics i aplicacions web. PHP proporciona paraules clau conegudes com modificadors d'accés . Les propietats del modificador d'accés s'utilitzen per accedir a les propietats de la variable, classe o classe de tres maneres diferents, com ara públic , privat, i protegit . En aquest article, parlarem d'aquests modificadors d'accés i determinarem la diferència entre aquests tres modificadors d'accés en el llenguatge de programació PHP.
Què són els modificadors d'accés a PHP?
En PHP, els modificadors d'accés són essencials perquè donen als usuaris la possibilitat de regular la visibilitat així com l'accessibilitat dels atributs i mètodes de classe. Com a resultat d'això, proporciona encapsulament i seguretat de dades i, per tant, els membres de la classe estan protegits d'accés o alteració no autoritzats. A més, facilita el manteniment del codi i la depuració.
Tipus de modificadors d'accés
Els tres modificadors d'accés que existeixen a PHP es comenten a continuació:
- Públic: Podeu accedir a un mètode públic des de fora de la classe. Això implica que qualsevol codi pot accedir, canviar i invocar un mètode públic.
- Privat: Per accedir al mètode privat està restringit a la pròpia classe. Això implica que cap dels altres codis, fins i tot si es tracta d'una classe secundària, no té permís per accedir a un mètode privat ni llegir el valor privat.
- Protegit: Un mètode protegit només és accessible dins d'una classe i classes que hi estan relacionades; no es pot utilitzar fora d'aquestes classes. Qualsevol codi font que necessiti accedir a la instància de classe pot llegir o alterar les dades d'una propietat protegida o invocar una funció protegida.
Diferència entre modificadors d'accés públic, privat i protegit a PHP
Propietat | Públic | Privat | Protegit |
Accessibilitat | Aquests modificadors d'accés es poden accedir a qualsevol lloc, com ara dins i fora del codi. | Els especificadors d'accés privat només són accessibles dins de la classe. | Podria ser accessible dins de la classe i les seves classes i mètodes relacionats (fills). |
Flexibilitat | La major flexibilitat l'ofereixen els recursos públics, ja que s'hi pot accedir des de qualsevol lloc. | Com que són accessibles exclusivament dins de la classe, aquests mètodes ofereixen la menor flexibilitat. | El mètode protegit proporciona una flexibilitat moderada, ja que les classes fills poden accedir a aquests mètodes. |
Encapsulació | Un altre codi pot accedir o encapsular mètodes públics, però el programador té el control sobre això. | Un mètode privat està encapsulat dins de la classe, cosa que fa impossible que el codi extern hi pugui accedir o actualitzar. | El seu procés d'encapsulació és el mateix que el mètode públic en PHP. |
Seguretat | Els mètodes públics són accessibles des de qualsevol lloc. Per tant, proporcionen un baix nivell de seguretat al codi. | El màxim nivell de seguretat el proporcionen els modificadors d'accés privat perquè estan totalment continguts dins de la classe. | Com que només poden accedir-hi els membres de la classe i les seves subclasses, els modificadors d'accés protegit ofereixen un nivell raonable de seguretat. |
Vegem la diferència entre aquests especificadors d'accés mitjançant un exemple de programa senzill en PHP.
Exemple: Programa PHP amb modificadors d'accés privat, públic i protegit
L'exemple següent mostra la diferència entre públic, privat i protegit en un exemple de codi:
< ?phpclasse MyClass {
públic $públic = 'Variable pública. \n ' ; // Es pot accedir des de qualsevol lloc
privat $privada = 'Variable privada. \n ' ; // Només es pot accedir des de dins de la classe
protegit $protegit = 'Variable protegida'. ; // S'hi pot accedir dins de la classe i de qualsevol subclasse
públic funció getPrivate ( ) {
tornar $això - > privat;
}
públic funció getProtected ( ) {
tornar $això - > protegit;
}
}
$obj = nou MyClass ( ) ;
eco $obj - > públic;
eco $obj - > getPrivate ( ) ;
eco $obj - > getProtected ( ) ;
? >
Al programa anterior, hem definit una classe com La meva classe amb una propietat pública com $públic que podria accedir a qualsevol lloc del codi, una propietat privada com $privada , i una propietat protegida anomenada $protegit , per tant, no podem accedir als especificadors privats i protegits directament des de fora de la classe. Com hem utilitzat dos mètodes públics anomenats getPrivate() i getProtected() que retornen els valors de les variables de propietats privades i protegides, respectivament, i la sortida es dóna a continuació:
Conclusió
PHP ofereix moltes funcionalitats i una d'elles són les paraules clau anomenades modificadors d'accés. Aquests modificadors d'accés proporcionen diferents patrons d'accés a les dades de les classes del programa PHP. Al tutorial anterior, hem vist la diferència entre els modificadors d'accés en termes d'accessibilitat, encapsulació, flexibilitat i seguretat que s'ofereixen a PHP.