ReflectionProperty::setAccessible

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

ReflectionProperty::setAccessibleУстанавливает доступность свойства

Внимание

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

Описание

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

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

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

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

accessible

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

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

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

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

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

Примеры

Пример #1 Определение простого класса

<?php

class MyClass
{
private
$foo = 'bar';
}

$property = new ReflectionProperty("MyClass", "foo");
$property->setAccessible(true);

$obj = new MyClass();
echo
$property->getValue($obj);
echo
$obj->foo;

?>

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

bar
Fatal error: Uncaught Error: Cannot access private property MyClass::$foo in /in/WJqTv:12

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