Google身份验证服务返回一个php对象(让我们称之为$ Ticket)。它的价值在于
Google_LoginTicket Object ( [envelope:Google_LoginTicket:private] => Array ( [alg] => RS256 [kid] => 057d4167ee9b75e7b3a3fcc9c1ca17a14dab5044 ) )
现在我想访问alg的值,即“RS256”。
print_r ($Ticket->{'envelope:Google_LoginTicket:private'});
print_r没有提供任何内容。
答案 0 :(得分:1)
Google_LoginTicket有getAttributes()函数,它返回属性数组,你可以在源代码中查看这个 https://github.com/sylvainw/GPlusGlobe/blob/master/src/auth/Google_LoginTicket.php
$attrs = $Ticket->getAttributes();
print_r($attrs["envelope"]);
答案 1 :(得分:0)
您可以通过reflection访问私人媒体资源。但是,不建议这样做。这些主要是框架使用的功能。
相反,您应该搜索为您提供所需值的方法。
var_dump(get_class_methods($Ticket));
通常,阅读API文档或source file directly将允许您查看课程中可用的方法。
答案 2 :(得分:0)
envelope
实例变量是私有的,因此您无法像这样访问它;你必须使用provided的方法:
$attributes = $Ticket->getAttributes();
$envelope = $attributes['envelope'];