当前位置: 首页 > 面试题库 >

我可以通过Reflection获得私有财产的价值吗?

耿敏达
2023-03-14
问题内容

它似乎不起作用:

$ref = new ReflectionObject($obj);

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

它进入IF循环,然后引发错误:

物业privateProperty不存在

:|

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

该文档页面列出了一些常量,包括IS_PRIVATE。如果我无法访问私有财产,我将如何使用它?


问题答案:

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


 类似资料:
  • 问题内容: 我有一个ID列表,我想使用它使用Java客户端jedis从Redis服务器检索哈希。如文档中所述,Jedis通过声明Response对象然后同步管道以获取值来提供一种使用管道的方法: 但是,我的清单的长度可变,每隔几分钟就会变化一次。因此,我无法预测需要声明的Response对象的数量。有没有一种解决方法,例如: 问题答案: 我想您要达到的目标是这样完成的。

  • 问题内容: 我一直在寻找有关如何使用Parse.com查询的示例。真的很模糊。我认为应该从以下内容开始: 但是然后,我不知道。你可以做类似的事情 在这种情况下,如果存在,我会收回“价值”。我想做的是。我得到了带有列ID和名称的表格。我知道ID是0,所以现在我想知道Name属于ID =0。但是我应该使用什么查询,我也不知道… 问题答案: Parse的Android指南在这里有一个基本的查询示例,它将

  • 我尝试获取指纹值并存储它。在那之后,我试着比较一下 指纹的价值来自另一个硬件,指纹 传感器。 问题1。能比较一下吗? 问题2。如果可能,我如何获得该值? 我搜索了这些问题,发现这是不可能的。但我觉得 获取指纹信息的方法是存在的。我想要一个明确的答案。很抱歉 没有上传任何代码,我已经尽我所能搜索了。

  • 上面的程序返回公共字段的值,但不在私有成员上工作。我已经在我的POJO课上宣布了getters和setters。 有什么想法吗?

  • 问题内容: 我试图弄清楚如何通过可能与“ co” 一起获得承诺的价值: 调用的函数不是生成器,而是普通函数。有了上面的,但是我想要解析的值。是否合作或其他一些库有这样做的方法吗? 问题答案: 是的, 公司 可以做到。您必须在调用中包装父函数: 内在将成为解决价值。如果承诺被拒绝,则可以通过基本声明来纠正错误。

  • 问题内容: 我和猫鼬在一起的行为很奇怪。当我得到结果对象时,我看到该属性在这里,但是当我尝试仅获得所需的值时,它返回未定义。 奇怪的是,如果我使用该方法,它将起作用。我肯定错过了什么。有人对此有解释吗? 问题答案: 当MongoDB文档中存在字段但未在Mongoose模式中定义字段时,就会发生这种情况。 因此,请确保在您的架构中将其定义为 或者,即使未在架构中定义它也要访问它,请使用以下方法: