Jaký je rozdíl mezi veřejným, soukromým a chráněným v PHP

Jaky Je Rozdil Mezi Verejnym Soukromym A Chranenym V Php



PHP je široce používáno pro vývoj dynamických webových stránek a webových aplikací. PHP poskytuje klíčová slova známá jako modifikátory přístupu . Vlastnosti modifikátoru přístupu se používají k přístupu k vlastnostem proměnné, třídy nebo třídy třemi různými způsoby, jako např veřejnost , soukromý, a chráněný . V tomto článku probereme tyto modifikátory přístupu a určíme rozdíl mezi těmito třemi modifikátory přístupu v programovacím jazyce PHP.

Co jsou modifikátory přístupu v PHP?

V PHP jsou modifikátory přístupu zásadní, protože dávají uživatelům možnost regulovat viditelnost a také dostupnost atributů tříd a metod. V důsledku toho poskytuje zapouzdření a zabezpečení dat, a proto jsou členové třídy chráněni před neoprávněným přístupem nebo změnami. Také to usnadňuje údržbu kódu a ladění.







Typy modifikátorů přístupu

Níže jsou popsány tři modifikátory přístupu, které existují v PHP:



  • Veřejnost: K veřejné metodě máte přístup mimo třídu. To znamená, že jakýkoli kód může přistupovat, měnit a vyvolat veřejnou metodu.
  • soukromé: Přístup k soukromé metodě je omezen na samotnou třídu. To znamená, že žádný z ostatních kódů, i když se jedná o podřízenou třídu, nemá povolen přístup k soukromé metodě nebo čtení soukromé hodnoty.
  • Chráněný: Chráněná metoda je přístupná pouze uvnitř třídy a tříd, které s ní souvisejí; nelze jej použít mimo tyto třídy. Jakýkoli zdrojový kód, který potřebuje přístup k instanci třídy, může číst nebo měnit data chráněné vlastnosti nebo vyvolat chráněnou funkci.

Rozdíl mezi modifikátory veřejného, ​​soukromého a chráněného přístupu v PHP

Vlastnictví Veřejnost Soukromé Chráněný
Přístupnost Tyto modifikátory přístupu mohou být přístupné kdekoli, například uvnitř i vně kódu. Specifikátory soukromého přístupu jsou přístupné pouze v rámci třídy. Mohl by být přístupný uvnitř třídy a jejích příbuzných (podřízených) tříd a metod.
Flexibilita Největší flexibilitu nabízejí veřejné zdroje, protože k nim lze přistupovat odkudkoli. Protože jsou přístupné výhradně v rámci třídy, nabízejí tyto metody nejmenší flexibilitu. Chráněná metoda poskytuje střední flexibilitu, protože k těmto metodám mají přístup podřízené třídy.
Zapouzdření Jiný kód může přistupovat k veřejným metodám nebo je zapouzdřovat, ale programátor to má pod kontrolou. Soukromá metoda je zapouzdřena uvnitř třídy, což znemožňuje vnějšímu kódu přístup nebo aktualizaci. Jeho proces zapouzdření je stejný jako u veřejné metody v PHP.
Bezpečnostní Veřejné metody jsou dostupné odkudkoli. Poskytují tedy nízkou úroveň zabezpečení v kódu. Maximální úroveň zabezpečení poskytují modifikátory soukromého přístupu, protože jsou zcela obsaženy ve třídě. Vzhledem k tomu, že k nim mají přístup pouze členové třídy a jejích podtříd, nabízejí modifikátory chráněného přístupu přiměřenou úroveň zabezpečení.

Podívejme se na rozdíl mezi těmito specifikátory přístupu na jednoduchém příkladu programu v PHP.



Příklad: Program PHP s modifikátory soukromého, veřejného a chráněného přístupu





Následující příklad ukazuje rozdíl mezi veřejným, soukromým a chráněným v jednom příkladu kódu:

< ?php
třída MyClass {
veřejnost $public = „Veřejně proměnná. \n ' ; // Lze přistupovat odkudkoli
soukromé $soukromé = „Soukromá proměnná. \n ' ; // Přístup je možný pouze ze třídy
chráněný $chráněno = 'Chráněná proměnná.' ; // Lze k nim přistupovat v rámci třídy a všech podtříd

veřejnost funkce getPrivate ( ) {
vrátit se $toto - > soukromý;
}

veřejnost funkce getProtected ( ) {
vrátit se $toto - > chráněný;
}
}
$obj = nová Moje třída ( ) ;

echo $obj - > veřejnost;
echo $obj - > getPrivate ( ) ;
echo $obj - > getProtected ( ) ;
? >



Ve výše uvedeném programu jsme definovali třídu jako Moje třída s veřejným majetkem as $public který by mohl přistupovat kamkoli v kódu, soukromý majetek jako $soukromé , a chráněný majetek tzv $chráněno , proto nemůžeme přistupovat k soukromým a chráněným specifikátorům přímo zvenčí třídy. Jak jsme použili dvě veřejné metody tzv getPrivate() a getProtected() které vracejí hodnoty proměnných private a protected property a výstup je uveden níže:

Závěr

PHP nabízí mnoho funkcí a jednou z nich jsou klíčová slova nazývaná modifikátory přístupu. Tyto modifikátory přístupu poskytují různé vzory přístupu k datům tříd v programu PHP. Ve výše uvedeném tutoriálu jsme viděli rozdíl mezi modifikátory přístupu, pokud jde o dostupnost, zapouzdření, flexibilitu a zabezpečení, které jsou nabízeny v PHP.