Junior — Middle
Ako je možné programovo pristúpiť k súkromným poliam triedy bez úpravy jej zdrojového kódu?
sobes.tech AI
Odpoveď od AI
V PHP môžete pomocou reflexie (Reflection) pristupovať k súkromným poliam triedy. To umožňuje získať prístup k vlastnostiam a metódam, aj keď sú deklarované ako private alebo protected, bez zmeny zdrojového kódu triedy.
Príklad:
class MyClass {
private $secret = 'hidden';
}
$obj = new MyClass();
$reflection = new ReflectionClass($obj);
$property = $reflection->getProperty('secret');
$property->setAccessible(true); // sprístupní súkromnú vlastnosť
echo $property->getValue($obj); // vypíše 'hidden'
Týmto spôsobom, pomocou ReflectionProperty::setAccessible(true), môžete získať a upraviť súkromné polia.