如何访问std对象中的受保护变量

时间:2019-01-12 07:44:57

标签: php

你好,我在标准对象中得到了保护变量的结果。当我做print_r时的结果是

            libphonenumber\PhoneNumber Object
(
    [countryCode:protected] => 91
    [nationalNumber:protected] => 321476551
    [extension:protected] => 
    [italianLeadingZero:protected] => 
    [rawInput:protected] => 
    [countryCodeSource:protected] => 4
    [preferredDomesticCarrierCode:protected] => 
    [hasNumberOfLeadingZeros:protected] => 
    [numberOfLeadingZeros:protected] => 1
)

我想访问可变国家代码。当我这样做

echo $phoneNumberObject->countryCode;

它说

Cannot access protected property libphonenumber\PhoneNumber::$countryCode in...

预先感谢

1 个答案:

答案 0 :(得分:1)

除非您使用了Reflection或正常过程的其他步骤,否则任何类中的保护变量和私有变量都不能在该类外部访问。通常,尽管任何API都会提供各种访问数据的方法。

通常,您会在getCountryCode()类中找到类似PhoneNumber的东西。

如果没有这样的方法-那么这可能表明变量不是您应该访问的变量,并且很可能是内部状态而不是有用的值。