需要一些快速建议我试图访问一个对象数组,但我很挣扎,请看下面的数组。它开始一个我通常会用户$ result-> _messages->令牌的对象,但它不起作用我已经搜索谷歌和这个网站,但无法访问该令牌。
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"
}
}
任何机构的建议吗?
干杯
Ĵ
答案 0 :(得分:3)
_messages受到保护,因此无法从此(或扩展)类外部调用该变量,检查类是否存在方法以获取数组中的变量
答案 1 :(得分:3)
来自ZF Reference Guide on Naming Conventions:
例如,使用“private”或“protected”修饰符声明的变量,变量名称的第一个字符必须是单个下划线。这是变量名中唯一可接受的下划线应用程序。声明为“public”的成员变量绝不应以下划线开头。
因此,您无法直接从_messages
实例外部访问Zend_Auth_Result
,因为它是protected
。你必须使用该属性的getter。
$messages = $zendAuthResult->getMessages();
$token = $messages['token'];