gpt4 book ai didi

php - 如何在PHP中获取对象的 protected 属性

转载 作者:IT王子 更新时间:2023-10-28 23:56:27 24 4
gpt4 key购买 nike

我有一个对象,它有一些我想要获取和设置的 protected 属性。对象看起来像

Fields_Form_Element_Location Object
(
[helper] => formText
[_allowEmpty:protected] => 1
[_autoInsertNotEmptyValidator:protected] => 1
[_belongsTo:protected] =>


[_description:protected] =>
[_disableLoadDefaultDecorators:protected] =>
[_errorMessages:protected] => Array
(
)

[_errors:protected] => Array
(
)
[_isErrorForced:protected] =>
[_label:protected] => Current City


[_value:protected] => 93399
[class] => field_container field_19 option_1 parent_1
)

我想获取对象的 value 属性。当我尝试 $obj->_value$obj->value 时,它会产生错误。我搜索并找到了使用 PHP Reflection Class 的解决方案。它在我的本地工作,但在服务器 PHP 版本是 5.2.17 所以我不能在那里使用这个函数。那么任何解决方案如何获得这样的属性?

最佳答案

这是一个非常简单的例子(没有错误检查)如何使用 ReflectionClass:

function accessProtected($obj, $prop) {
$reflection = new ReflectionClass($obj);
$property = $reflection->getProperty($prop);
$property->setAccessible(true);
return $property->getValue($obj);
}

我知道你说你被限制在 5.2,但那是 2 年前,5.5 is the oldest supported version我希望能帮助人们使用现代版本。

关于php - 如何在PHP中获取对象的 protected 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20334355/

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