ReflectionProperty::setAccessible

Set property accessibility

Description

public void ReflectionProperty::setAccessible(bool $accessible)

Enables access to a protected or private property via the ReflectionProperty::getValue and ReflectionProperty::setValue methods.

Note: As of PHP 8.1.0, calling this method has no effect; all properties are accessible by default.

Parameters

accessible

true to allow accessibility, or false.

Return Values

No value is returned.

Examples

Example #1 Simple Class definition

<?php
class MyClass
{
    private $foo = 'bar';
}

$property = new ReflectionProperty("MyClass", "foo");
$property->setAccessible(true);

$obj = new MyClass();
echo $property->getValue($obj);
echo $obj->foo;
?>

The above example will output something similar to:

bar
Fatal error: Uncaught Error: Cannot access private property MyClass::$foo in /in/WJqTv:12

See Also

  • ReflectionProperty::isPrivate
  • ReflectionProperty::isProtected