Ano ang Pagkakaiba sa pagitan ng Pampubliko, Pribado, at Protektado sa PHP

Ano Ang Pagkakaiba Sa Pagitan Ng Pampubliko Pribado At Protektado Sa Php



Ang PHP ay malawakang ginagamit para sa pagbuo ng mga dynamic na website at web application. Nagbibigay ang PHP ng mga keyword na kilala bilang mga modifier ng access . Ang mga katangian ng access modifier ay ginagamit upang ma-access ang variable, klase, o mga katangian ng klase sa tatlong magkakaibang paraan, gaya ng pampubliko , pribado, at protektado . Sa artikulong ito, tatalakayin natin ang mga access modifier na ito at tutukuyin ang pagkakaiba sa pagitan ng tatlong access modifier na ito sa PHP programming language.

Ano ang mga Access Modifier sa PHP?

Sa PHP access modifiers ay mahalaga dahil binibigyan nila ang mga user ng kakayahang i-regulate ang visibility pati na rin ang accessibility ng mga katangian at pamamaraan ng klase. Bilang resulta nito, nagbibigay ito ng encapsulation at seguridad ng data, at samakatuwid, ang mga miyembro ng klase ay protektado mula sa hindi awtorisadong pag-access o pagbabago. Gayundin, pinapadali nito ang pagpapanatili ng code at pag-debug.







Mga Uri ng Access Modifier

Ang tatlong access modifier na umiiral sa PHP ay tinalakay sa ibaba:



  • Pampubliko: Maaari mong i-access ang isang pampublikong paraan mula sa labas ng klase. Ito ay nagpapahiwatig na ang anumang code ay maaaring mag-access, magbago, at mag-invoke ng isang pampublikong pamamaraan.
  • Pribado: Ang pag-access sa pribadong paraan ay limitado sa klase mismo. Ipinahihiwatig nito na wala sa iba pang mga code, kahit na ito ay isang child class, ay pinahihintulutang mag-access ng pribadong paraan o basahin ang pribadong halaga.
  • Protektado: Ang isang protektadong paraan ay maa-access lamang sa loob ng isang klase at mga klase na nauugnay dito; hindi ito magagamit sa labas ng mga klaseng iyon. Anumang source code na kailangang ma-access ang class instance ay maaaring magbasa o magbago ng data ng isang protektadong ari-arian o mag-invoke ng isang protektadong function.

Pagkakaiba sa pagitan ng Pampubliko, Pribado, at Protektadong Access Modifier sa PHP

Ari-arian Pampubliko Pribado Pinoprotektahan
Accessibility Ang mga access modifier na ito ay maaaring ma-access kahit saan gaya ng loob at labas ng code. Ang mga pantukoy ng pribadong access ay maa-access lamang sa loob ng klase. Maaari itong ma-access sa loob ng klase at mga kaugnay na(bata) na klase, at mga pamamaraan nito.
Kakayahang umangkop Ang pinaka-kakayahang umangkop ay inaalok ng mga pampublikong mapagkukunan dahil maaari silang ma-access mula sa kahit saan. Dahil ang mga ito ay eksklusibong naa-access sa loob ng klase, ang mga pamamaraang ito ay nag-aalok ng hindi bababa sa kakayahang umangkop. Ang protektadong paraan ay nagbibigay ng katamtamang kakayahang umangkop dahil maa-access ng mga klase ng bata ang mga pamamaraang ito.
Encapsulation Maaaring ma-access o i-encapsulate ng ibang code ang mga pampublikong pamamaraan, ngunit ang programmer ay may kontrol dito. Ang isang pribadong pamamaraan ay naka-encapsulated sa loob ng klase, na ginagawang imposible para sa labas ng code na ma-access o i-update ang mga ito. Ang proseso ng encapsulation nito ay kapareho ng pampublikong pamamaraan sa PHP.
Seguridad Ang mga pampublikong pamamaraan ay naa-access mula sa kahit saan. Kaya, nagbibigay sila ng mababang antas ng seguridad sa code. Ang pinakamataas na antas ng seguridad ay ibinibigay ng mga modifier ng pribadong access dahil ang mga ito ay ganap na nakapaloob sa loob ng klase. Dahil maa-access lang sila ng mga miyembro ng klase at mga subclass nito, nag-aalok ang mga protected access modifier ng makatwirang antas ng seguridad.

Tingnan natin ang pagkakaiba sa pagitan ng mga access specifier na ito gamit ang isang simpleng halimbawa ng program sa PHP.



Halimbawa: Programang PHP na may Pribado, Pampubliko, at Protektadong Access Modifier





Ang sumusunod na halimbawa ay nagpapakita ng pagkakaiba sa pagitan ng pampubliko, pribado, at protektado sa isang halimbawang code:

< ?php
klase MyClass {
pampubliko $publiko = 'Public-variable. \n ' ; // Maaaring ma-access mula sa kahit saan
pribado $pribado = 'Pribadong-variable. \n ' ; // Maaari lamang ma-access mula sa loob ng klase
protektado $protected = 'Protektadong-variable.' ; // Maaaring ma-access sa loob ng klase at anumang mga subclass

pampubliko function getPrivate ( ) {
bumalik $ito - > pribado;
}

pampubliko function getProtected ( ) {
bumalik $ito - > protektado;
}
}
$obj = bagong MyClass ( ) ;

echo $obj - > publiko;
echo $obj - > getPrivate ( ) ;
echo $obj - > getProtected ( ) ;
? >



Sa programa sa itaas, tinukoy namin ang isang klase bilang MyClass na may pampublikong ari-arian bilang $publiko na maaaring ma-access kahit saan sa code, isang pribadong pag-aari bilang $pribado , at isang protektadong ari-arian na tinatawag na $protected , kaya hindi namin ma-access ang pribado at protektadong mga specifier nang direkta mula sa labas ng klase. Habang ginamit namin ang dalawang pampublikong pamamaraan na tinatawag na getPrivate() at getProtected() na nagbabalik ng mga halaga ng mga variable ng pribado at protektadong mga katangian, ayon sa pagkakabanggit, at ang output ay ibinigay sa ibaba:

Konklusyon

Nag-aalok ang PHP ng maraming pag-andar at isa sa mga ito ay ang mga keyword na tinatawag na access modifiers. Ang mga access modifier na ito ay nagbibigay ng iba't ibang pattern ng pag-access sa data ng mga klase sa PHP program. Sa tutorial sa itaas, nakita namin ang pagkakaiba sa pagitan ng mga modifier ng access sa mga tuntunin ng accessibility, encapsulation, flexibility, at seguridad na inaalok sa PHP.