Kuo PHP skiriasi viešasis, privatus ir apsaugotas

Kuo Php Skiriasi Viesasis Privatus Ir Apsaugotas



PHP plačiai naudojamas kuriant dinamines svetaines ir žiniatinklio programas. PHP pateikia raktinius žodžius, žinomus kaip prieigos modifikatoriai . Prieigos modifikatoriaus ypatybės naudojamos norint pasiekti kintamąjį, klasę arba klasės ypatybes trimis skirtingais būdais, pvz viešas , privatus, ir apsaugotas . Šiame straipsnyje aptarsime šiuos prieigos modifikatorius ir nustatysime skirtumą tarp šių trijų prieigos modifikatorių PHP programavimo kalboje.

Kas yra prieigos modifikatoriai PHP?

PHP prieigos modifikatoriai yra būtini, nes jie suteikia vartotojams galimybę reguliuoti klasės atributų ir metodų matomumą bei prieinamumą. Dėl to ji užtikrina inkapsuliavimą ir duomenų saugumą, taigi, klasės nariai yra apsaugoti nuo neteisėtos prieigos ar pakeitimų. Be to, tai palengvina kodo priežiūrą ir derinimą.







Prieigos modifikatorių tipai

Toliau aptariami trys prieigos modifikatoriai, esantys PHP:



  • Viešas: Viešąjį metodą galite pasiekti iš klasės ribų. Tai reiškia, kad bet koks kodas gali pasiekti, pakeisti ir iškviesti viešąjį metodą.
  • Privatus: Prieiga prie privataus metodo apsiriboja pačia klase. Tai reiškia, kad jokiems kitiems kodams, net jei tai yra antrinė klasė, neleidžiama pasiekti privataus metodo arba skaityti privačią vertę.
  • Apsaugota: Apsaugotas metodas pasiekiamas tik klasėje ir klasėse, kurios yra su ja susijusios; jis negali būti naudojamas už tų klasių ribų. Bet koks šaltinio kodas, kuriam reikia pasiekti klasės egzempliorių, gali nuskaityti arba pakeisti saugomos nuosavybės duomenis arba iškviesti apsaugotą funkciją.

Skirtumas tarp viešosios, privačios ir apsaugotos prieigos modifikatorių PHP

Nuosavybė Viešas Privatus Apsaugotas
Prieinamumas Šie prieigos modifikatoriai gali būti pasiekiami bet kur, pavyzdžiui, kodo viduje ir išorėje. Privačios prieigos specifikacijos pasiekiamos tik klasėje. Jis gali būti pasiekiamas klasėje ir su ja susijusiose (vaikų) klasėse ir metoduose.
Lankstumas Didžiausią lankstumą siūlo viešieji ištekliai, nes juos galima pasiekti iš bet kurios vietos. Kadangi jie yra prieinami tik klasėje, šie metodai siūlo mažiausią lankstumą. Apsaugotas metodas suteikia vidutinį lankstumą, nes vaikų klasės gali pasiekti šiuos metodus.
Inkapsuliavimas Kitas kodas gali pasiekti arba įtraukti viešuosius metodus, tačiau programuotojas gali tai kontroliuoti. Privatus metodas yra įtrauktas į klasėje, todėl išorinis kodas negali jų pasiekti ar atnaujinti. Jo inkapsuliavimo procesas yra toks pat kaip viešasis PHP metodas.
Saugumas Viešieji metodai pasiekiami bet kur. Taigi, jie suteikia žemą kodo saugumo lygį. Didžiausią saugumo lygį užtikrina privatūs prieigos modifikatoriai, nes jie yra visiškai įtraukti į klasę. Kadangi juos gali pasiekti tik klasės ir jos poklasių nariai, apsaugoti prieigos modifikatoriai siūlo pagrįstą saugumo lygį.

Pažiūrėkime, kuo skiriasi šie prieigos specifikatoriai, naudodami paprastą PHP programos pavyzdį.



Pavyzdys: PHP programa su privačios, viešosios ir apsaugotos prieigos modifikatoriais





Šis pavyzdys parodo skirtumą tarp viešojo, privataus ir saugomo viename pavyzdiniame kodo pavyzdyje:

< ?php
klasė MyClass {
viešas $vieša = „Viešasis kintamasis. \n ; // Galima pasiekti iš bet kurios vietos
privatus $privatus = „Privatus-kintamasis. \n ; // Galima pasiekti tik iš klasės
apsaugotas $apsaugotas = „Apsaugotas kintamasis“. ; // Galima pasiekti klasėje ir bet kuriuose poklasiuose

viešas funkcija getPrivate ( ) {
grąžinti $tai - > privatus;
}

viešas funkcija gauti Apsaugotas ( ) {
grąžinti $tai - > apsaugotas;
}
}
$obj = nauja MyClass ( ) ;

aidas $obj - > viešas;
aidas $obj - > getPrivate ( ) ;
aidas $obj - > gauti Apsaugotas ( ) ;
? >



Aukščiau pateiktoje programoje klasę apibrėžėme kaip Mano klasė su viešąja nuosavybe kaip $vieša kuri gali pasiekti bet kur kodu, privačią nuosavybę kaip $privatus , ir saugoma nuosavybė vadinama $apsaugotas , todėl negalime pasiekti privačių ir apsaugotų specifikacijų tiesiogiai iš klasės ribų. Kaip mes naudojome du viešuosius metodus, vadinamus getPrivate () ir get Protected () kurie grąžina atitinkamai privačių ir saugomų savybių kintamųjų reikšmes, o išvestis pateikiama toliau:

Išvada

PHP siūlo daugybę funkcijų ir viena iš jų yra raktiniai žodžiai, vadinami prieigos modifikatoriais. Šie prieigos modifikatoriai suteikia skirtingus prieigos prie PHP programos klasių duomenų modelius. Aukščiau pateiktame vadove matėme skirtumą tarp prieigos modifikatorių prieinamumo, inkapsuliavimo, lankstumo ir saugumo, siūlomų PHP, požiūriu.