Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<ReflectionMethod::isPublicReflectionMethod::__toString>
^ReflectionMethodLast updated: Mon, 26 Oct 2026

ReflectionMethod::setAccessible

(PHP 5 >= 5.3.2, PHP 7, PHP 8)

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(
    since: '8.5',
    message: "as it has no effect since PHP 8.1",
)]

public function ReflectionMethod::setAccessible(bool $accessible): void

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::isPublicReflectionMethod::__toString>
^ReflectionMethodLast updated: Mon, 26 Oct 2026