ReflectionProperty::setAccessible

Set property accessibility

Warning

This function has been DEPRECATED as of PHP 8.5.0. Relying on this function is highly discouraged.

Description

#[\Deprecated] 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.

Changelog

Version Description
8.5.0 This method has been deprecated, as it no longer has an effect.
8.1.0 Calling this method has no effect; all properties are accessible by default.

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