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

如何在PHP中获取对象的受保护属性

支劲
2023-03-14
问题内容

我有一个要获取和设置一些受保护属性的对象。该对象看起来像

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因此我不能在此使用此功能。那么任何解决方案如何获得这种财产?


问题答案:

这就是“受保护”的含义,正如“
可见性”一章所解释的:

声明为protected的成员只能在该类内部以及继承的和父类访问。

如果需要从外部访问该属性,请选择以下一项:

  • 不要将其声明为受保护的,而是将其公开
  • 编写几个函数来获取和设置值(getter和setter)

如果您不想修改原始类(因为它是第三方库,那么您就不会搞乱),请创建一个扩展原始类的自定义类:

class MyFields_Form_Element_Location extends Fields_Form_Element_Location{
}

…然后在其中添加您的吸气剂/设置剂。



 类似资料:
  • 本文向大家介绍在MongoDB中如何获取保存的对象?,包括了在MongoDB中如何获取保存的对象?的使用技巧和注意事项,需要的朋友参考一下 让我们首先创建一个变量。以下是查询- 以下是使用save()保存记录的查询- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出-

  • 当我使用浏览器时,我使用此endpoint授权: https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?client_id= &response_type=code&redirect_uri= &scope=email+offline_access+openid+profile&state=&prompt=sel

  • 问题内容: 基本上,我有一个带有的表单,用于选择要使用的数据集(值分别为“ m”,“ f”和“ c”)。然后,我有一个字典/对象,其数据位于: 现在我需要/ / 但我不知道如何使用语法-我已经试过: 什么是正确的语法/方法? 问题答案: 由于您是通过变量引用属性,因此需要使用括号表示法。 …这与您传递字符串时使用的表示法相同。

  • 问题内容: 关键字授予对相同包和子类(http://java.sun.com/docs/books/tutorial/java/javaOO/accesscontrol.html)中的类的访问权限。 现在,每个类都有一个超类(http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html)。 因此,我得出结论,即使每个类都可以访问的方法。

  • 我有一个php对象,我想从中获取一些值 这就是我所拥有的: 如何获得变量中title的值?

  • 问题内容: 例如,我有: 然后,例如,我要通过对该对象进行 排序/反转。然后我想得到这样的东西: 现在,我想知道具有属性的对象的索引,以获取属性标记的值。 我该如何解决这个问题? 问题答案: 正如其他答案所暗示的那样,遍历数组可能是最好的方法。但是我会把它放在它自己的函数中,并使它更抽象一些: 这样,您不仅可以找到包含“ John”的一个,而且可以找到包含令牌“ 312312”的一个: 编辑: 未