A PHP-t széles körben használják dinamikus webhelyek és webes alkalmazások fejlesztésére. A PHP olyan kulcsszavakat biztosít, mint hozzáférés módosítók . A hozzáférés módosító tulajdonságai a változó, az osztály vagy az osztálytulajdonságok három különböző módon történő elérésére szolgálnak, mint pl nyilvános , magán, és védett . Ebben a cikkben megvitatjuk ezeket a hozzáférés-módosítókat, és meghatározzuk a különbséget e három hozzáférés-módosító között a PHP programozási nyelvben.
Mik azok a hozzáférés-módosítók a PHP-ben?
A PHP-ben a hozzáférés-módosítók elengedhetetlenek, mert lehetővé teszik a felhasználók számára, hogy szabályozzák az osztályattribútumok és metódusok láthatóságát, valamint elérhetőségét. Ennek eredményeként tokozást és adatbiztonságot biztosít, így az osztály tagjai védve vannak a jogosulatlan hozzáféréstől vagy módosítástól. Ezenkívül megkönnyíti a kód karbantartását és a hibakeresést.
Hozzáférés-módosítók típusai
A PHP-ben létező három hozzáférés-módosítót az alábbiakban tárgyaljuk:
- Nyilvános: Nyilvános metódust az osztályon kívülről is elérhet. Ez azt jelenti, hogy bármely kód hozzáférhet, módosíthat és meghívhat egy nyilvános metódust.
- Magán: A privát metódus elérése magára az osztályra korlátozódik. Ez azt jelenti, hogy a többi kód egyike sem férhet hozzá privát metódushoz vagy olvassa be a privát értéket, még akkor sem, ha gyermekosztályról van szó.
- Védett: Egy védett metódus csak egy osztályon és a hozzá kapcsolódó osztályokon belül érhető el; azokon az osztályokon kívül nem használható. Bármely forráskód, amelynek hozzá kell férnie az osztálypéldányhoz, képes olvasni vagy módosítani egy védett tulajdonság adatait, vagy meghívhat egy védett függvényt.
Különbség a nyilvános, privát és védett hozzáférés-módosítók között a PHP-ben
Ingatlan | Nyilvános | Magán | Védett |
Megközelíthetőség | Ezek a hozzáférés-módosítók bárhonnan elérhetők, például a kódon belül és kívül. | A privát hozzáférési specifikációk csak az osztályon belül érhetők el. | Hozzáférhetõ lehet az osztályon és a kapcsolódó (gyermek) osztályokon, metódusokon belül. |
Rugalmasság | A legnagyobb rugalmasságot az állami források kínálják, mivel ezek bárhonnan elérhetők. | Mivel kizárólag az osztályon belül érhetők el, ezek a módszerek kínálják a legkisebb rugalmasságot. | A védett metódus közepes rugalmasságot biztosít, mivel a gyermekosztályok hozzáférhetnek ezekhez a metódusokhoz. |
Egységbezárás | Más kódok elérhetik vagy beágyazhatják a nyilvános metódusokat, de ezt a programozó irányítja. | Az osztályon belül egy privát metódus van beágyazva, ami lehetetlenné teszi, hogy külső kód hozzáférjen vagy frissítse őket. | Beágyazási folyamata megegyezik a PHP publikus módszerével. |
Biztonság | A nyilvános módszerek bárhonnan elérhetők. Tehát alacsony szintű biztonságot nyújtanak a kódban. | A maximális biztonságot a privát hozzáférés-módosítók biztosítják, mivel ezek teljes mértékben az osztályon belül vannak. | Mivel csak az osztály és alosztályai tagjai férhetnek hozzá, a védett hozzáférés-módosítók ésszerű biztonsági szintet kínálnak. |
Nézzük meg a különbséget ezek között a hozzáférési specifikációk között egy egyszerű programpélda segítségével PHP-ben.
Példa: PHP program privát, nyilvános és védett hozzáférés-módosítókkal
A következő példa bemutatja a különbséget a nyilvános, privát és védett között egy példakódban:
< ?phposztály MyClass {
nyilvános $nyilvános = 'Nyilvános változó. \n ' ; // Bárhonnan elérhető
magán $privát = 'Privát változó. \n ' ; // Csak az osztályon belülről lehet elérni
védett $védett = 'Védett változó.' ; // Elérhető az osztályon és bármely alosztályon belül
nyilvános funkció getPrivate ( ) {
Visszatérés $ezt - > magán;
}
nyilvános funkció get Protected ( ) {
Visszatérés $ezt - > védett;
}
}
$obj = új MyClass ( ) ;
visszhang $obj - > nyilvános;
visszhang $obj - > getPrivate ( ) ;
visszhang $obj - > get Protected ( ) ;
? >
A fenti programban egy osztályt a következőképpen határoztunk meg Az osztályom köztulajdonnal mint $nyilvános amely kódban bárhonnan hozzáférhetett, magántulajdon, mint $privát nevű védett ingatlant $védett , ezért nem érhetjük el közvetlenül az osztályon kívülről a privát és védett specifikációkat. Mivel két nyilvános módszert használtunk, az ún getPrivate() és getProtected() amelyek a privát és a védett tulajdonságok változó értékét adják vissza, a kimenet pedig az alábbiakban látható:
Következtetés
A PHP számos funkciót kínál, és ezek egyike a hozzáférés módosítóknak nevezett kulcsszavak. Ezek a hozzáférés-módosítók különböző hozzáférési mintákat biztosítanak az osztályok adataihoz a PHP programban. A fenti oktatóanyagban láthattuk a PHP-ben kínált hozzáférés-módosítók közötti különbséget a hozzáférhetőség, a tokozás, a rugalmasság és a biztonság tekintetében.