SunshinePHP Developer Conference 2015

ReflectionMethod::setAccessible

(PHP 5 >= 5.3.2)

ReflectionMethod::setAccessibleSet method accessibility

Description

public void ReflectionMethod::setAccessible ( bool $accessible )

Sets a method to be accessible. For example, it may allow protected and private methods to be invoked.

Parameters

accessible

TRUE to allow accessibility, or FALSE.

Return Values

No value is returned.

See Also

add a note add a note

User Contributed Notes 1 note

up
1
dave1010 at gmail dot com
3 years ago
This is handy for accessing private methods but remember that things are normally private for a reason! Unit Testing is one (debatable) use case for this.

Example:
<?php
class Foo {
  private function
myPrivateMethod() {
    return
7;
  }
}

$method = new ReflectionMethod('Foo', 'myPrivateMethod');
$method->setAccessible(true);

echo
$method->invoke(new Foo);
// echos "7"
?>

This works nicely with PHPUnit: http://php.net/manual/en/reflectionmethod.setaccessible.php
To Top