gpt4 book ai didi

php - 我可以通过反射获得私有(private)属性(property)的值(value)吗?

转载 作者:IT王子 更新时间:2023-10-29 00:20:39 25 4
gpt4 key购买 nike

好像不行:

$ref = new ReflectionObject($obj);

if($ref->hasProperty('privateProperty')){
print_r($ref->getProperty('privateProperty'));
}

它进入 IF 循环,然后抛出一个错误:

Property privateProperty does not exist

:|

$ref = new ReflectionProperty($obj, 'privateProperty') 也不起作用...

documentation page列出了一些常量,包括 IS_PRIVATE。如果我无法访问私有(private)属性(property),我怎么能使用它呢?

最佳答案

class A
{
private $b = 'c';
}

$obj = new A();

$r = new ReflectionObject($obj);
$p = $r->getProperty('b');
$p->setAccessible(true); // <--- you set the property to public before you read the value

var_dump($p->getValue($obj));

关于php - 我可以通过反射获得私有(private)属性(property)的值(value)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11604946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com