(PHP 5 >= 5.3.0, PHP 7, PHP 8)
ReflectionProperty::setAccessible — Define la accesibilidad de una propiedad
Esta función está OBSOLETA a partir de PHP 8.5.0. Depender de esta función está altamente desaconsejado.
since: '8.5',message: "as it has no effect since PHP 8.1",$accessible): voidActiva el acceso a una propiedad protegida o privada mediante los métodos ReflectionProperty::getValue() y ReflectionProperty::setValue().
Nota:
A partir de PHP 8.1.0, la llamada a este método no tiene ningún efecto; todas las propiedades son accesibles por defecto.
No se retorna ningún valor.
| Versión | Descripción |
|---|---|
| 8.5.0 | Este método ha quedado obsoleto, puesto que ya no tiene efecto. |
| 8.1.0 | La llamada a este método no tiene ningún efecto; todas las propiedades son accesibles por defecto. |
Ejemplo #1 Definición de una clase simple
<?php
class MyClass
{
private $foo = 'bar';
}
$property = new ReflectionProperty("MyClass", "foo");
$property->setAccessible(true);
$obj = new MyClass();
echo $property->getValue($obj);
echo $obj->foo;
?>Resultado del ejemplo anterior es similar a:
bar Fatal error: Uncaught Error: Cannot access private property MyClass::$foo in /in/WJqTv:12