ReflectionMethod::setAccessible

Set method accessibility

Warning

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

Description

#[\Deprecated] public void ReflectionMethod::setAccessible(bool $accessible)

Enables invoking of a protected or private method via the ReflectionMethod::invoke method.

Note: As of PHP 8.1.0, calling this method has no effect; all methods are invokable 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 methods are invokable by default.

Examples

Example #1 Simple Class definition

<?php
class MyClass
{
    private function foo()
    {
        return 'bar';
    }
}

$method = new ReflectionMethod("MyClass", "foo");
$method->setAccessible(true);

$obj = new MyClass();
echo $method->invoke($obj);
echo $obj->foo();
?>

The above example will output something similar to:

bar
Fatal error: Uncaught Error: Call to private method MyClass::foo() from global scope in /in/qdaZS:16

See Also

  • ReflectionMethod::isPrivate
  • ReflectionMethod::isProtected