ReflectionMethod::setAccessible

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

ReflectionMethod::setAccessibleДелает метод доступным

Внимание

Начиная с PHP 8.5.0 функция УСТАРЕЛА. Полагаться на функцию настоятельно не рекомендуют.

Описание

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

Метод открывает доступ к защищённому или закрытому свойству для метода ReflectionMethod::invoke().

Замечание: С PHP 8.1.0 вызов метода утратил смысл; методы доступны для вызова по умолчанию.

Список параметров

accessible

Значение true делает метод доступным, false — закрывает доступ к методу.

Возвращаемые значения

Функция не возвращает значения после выполнения.

Список изменений

Версия Описание
8.5.0 Метод объявлен устаревшим, поскольку больше ни на что не влияет.
8.1.0 Вызов этого метода ни на что не влияет; все методы по умолчанию доступны для вызова.

Примеры

Пример #1 Пример определения класса

<?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();

?>

Вывод приведённого примера будет похож на:

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

Смотрите также