ReflectionProperty::setAccessible

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

ReflectionProperty::setAccessibleSet property accessibility

警告

此函数自 PHP 8.5.0 起弃用。强烈建议不要应用此函数。

说明

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

Enables access to a protected or private property via the ReflectionProperty::getValue() and ReflectionProperty::setValue() methods.

注意: As of PHP 8.1.0, calling this method has no effect; all properties are accessible by default.

参数

accessible

true to allow accessibility, or false.

返回值

没有返回值。

更新日志

版本 说明
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 properties are accessible by default.

示例

示例 #1 Simple Class definition

<?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

参见