1

需要一些快速建议我正在尝试访问对象数组但我很挣扎,请参阅下面的数组。它从一个我通常会使用 $result->_messages->token 的对象开始,但它不起作用我已经搜索了谷歌和这个网站,但无法访问令牌。

object(Zend_Auth_Result)#76 (3) {
["_code":protected] => int(1)
["_identity":protected] => string(9) "3232323233"
["_messages":protected] => array(2) {
    ["user"] => object(stdClass)#71 (13) {
      ["id"] => string(9) "232323332"
      ["name"] => string(14) "John Smith"
      ["first_name"] => string(5) "John"
      ["last_name"] => string(8) "Smith"
      ["link"] => string(41) "http://www.facebook.com/"
      ["username"] => string(17) "john.smith"
      ["location"] => object(stdClass)#68 (2) {
        ["id"] => string(0) ""
        ["name"] => NULL
      }     
      ["email"] => string(22) "john@doe.com"
      ["timezone"] => int(1)
      ["locale"] => string(5) "en_US"
      ["verified"] => bool(true)
      ["updated_time"] => string(24) "2012-06-21T13:57:12+0000" 
    }
    ["token"] => string(109) "AAAGIFdDivU4BAMoxyHT3bqY8eBGhnWo9YKM1szHZAnWgY10AIBgxz9LeNCeA2HV9Yhkp8uM5Aq0WR39ZBdcnOa4MxXVI22rnmFKNbYdQZDZD"
    }
}

任何建议任何机构?

干杯

Ĵ

4

2 回答 2

3

_messages 是受保护的,所以不可能从这个(或扩展的)类外部调用该变量,检查该类是否存在一个方法来获取数组中的变量

于 2012-06-23T11:22:23.840 回答
3

来自ZF 命名约定参考指南:

对于使用“private”或“protected”修饰符声明的实例变量,变量名的第一个字符必须是单个下划线。这是变量名中唯一可接受的下划线应用。声明为“public”的成员变量不应该以下划线开头。

所以你不能_messages直接从Zend_Auth_Result实例外部访问,因为它是protected. 您必须对该属性使用吸气剂。

请参阅 API 文档Zend_Auth_Result

$messages = $zendAuthResult->getMessages();
$token = $messages['token'];
于 2012-06-23T11:40:27.260 回答