ReflectionMethod::setAccessible
(PHP 5 >= 5.3.2)
ReflectionMethod::setAccessible — Set 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, orFALSE
.
Return Values
No value is returned.
See Also
- ReflectionMethod::isPrivate() - Checks if method is private
- ReflectionMethod::isProtected() - Checks if method is protected
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения, относящиеся к переменным и типам
- Reflection
- Функция ReflectionMethod::__construct() - Конструктор класса ReflectionMethod
- Функция ReflectionMethod::export() - Экспорт отраженного метода
- Функция ReflectionMethod::getClosure() - Возвращает динамически созданное замыкание для метода
- Функция ReflectionMethod::getDeclaringClass() - Получает класс, объявляющий отображенный метод
- Функция ReflectionMethod::getModifiers() - Получает модификаторы метода
- Функция ReflectionMethod::getPrototype() - Получает прототип метода (если такой есть)
- Функция ReflectionMethod::invoke() - Вызов
- Функция ReflectionMethod::invokeArgs() - Вызов метода с передачей аргументов массивом
- Функция ReflectionMethod::isAbstract() - Проверяет, является ли метод абстрактным
- Функция ReflectionMethod::isConstructor() - Проверяет, является ли метод конструктором
- Функция ReflectionMethod::isDestructor() - Проверяет, является ли метод деструктором
- Функция ReflectionMethod::isFinal() - Проверяет, может ли метод иметь наследников (final)
- Функция ReflectionMethod::isPrivate() - Проверяет, является ли метод частным (private)
- Функция ReflectionMethod::isProtected() - Проверяет, является ли метод защищенным (protected)
- Функция ReflectionMethod::isPublic() - Проверяет, является ли метод общедоступным (public)
- Функция ReflectionMethod::isStatic() - Проверяет, является ли метод статическим
- Функция ReflectionMethod::setAccessible() - Делает метод доступным
- Функция ReflectionMethod::__toString() - Возвращает строковое представление объекта Reflection method
Коментарии
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: reflectionmethod.setaccessible