0

Google 認証サービスは php オブジェクトを返します ($Ticket と呼びましょう)。その値はこれです

Google_LoginTicket Object ( [envelope:Google_LoginTicket:private] => Array ( [alg] => RS256 [kid] => 057d4167ee9b75e7b3a3fcc9c1ca17a14dab5044 ) )

ここで、「RS256」であるalgの値にアクセスしたいと思います。

print_r ($Ticket->{'envelope:Google_LoginTicket:private'});

print_r は何も与えません。

4

3 に答える 3

2

Google_LoginTicket には、属性の配列を返す getAttributes() 関数があります。これは、ソース コード https://github.com/sylvainw/GPlusGlobe/blob/master/src/auth/Google_LoginTicket.phpで確認できます。

$attrs = $Ticket->getAttributes();
print_r($attrs["envelope"]);
于 2013-02-26T13:57:18.010 に答える
0

リフレクションを通じてプライベート プロパティにアクセスできます。ただし、お勧めしません。これらは主にフレームワークで使用される機能です。

代わりに、探している値を提供するメソッドを検索する必要があります。

var_dump(get_class_methods($Ticket));

通常、API ドキュメントまたはソース ファイルを直接読むと、クラスで使用可能なメソッドを確認できます。

于 2013-02-26T13:58:29.127 に答える
0

インスタンス変数はプライベートであるため、そのenvelopeようにアクセスすることはできません。提供されているメソッドを使用する必要があります。

$attributes = $Ticket->getAttributes();

$envelope = $attributes['envelope'];
于 2013-02-26T13:59:49.950 に答える