[英]How to access object elements in an array
我正在使用Github PHP库 。 您可以使用Buzz HTTP Client进行特定调用,如下所示:
$client->getHttpClient()->get('repos/:user/:repo/events');
问题是返回该请求是我不确定如何访问元素的事情:
Github\HttpClient\Message\Response Object
(
[remainingCalls] =>
[protocolVersion:Buzz\Message\Response:private] => 0
[statusCode:Buzz\Message\Response:private] => 200
[reasonPhrase:Buzz\Message\Response:private] => OK
[headers:Buzz\Message\AbstractMessage:private] =>
[content:Buzz\Message\AbstractMessage:private] =>
)
现在我可以循环执行对象,执行以下操作:
foreach( $events as $item ) {
print_r( $item );
}
但我真的只关心headers
和content
。
是否有人知道如何直接访问这些元素而无需循环?
如果查看该对象类的源代码,您将看到有一个getContent()函数将检索内容字段的值。 您还会注意到此类从Buzz客户端扩展了Response类 。 反过来,Buzz Response类是AbstractMessage类的扩展,它具有getHeaders()函数和getContent()函数。
所以基本上你可以使用通过继承提供的getContent()和getHeaders()函数来访问这两个变量。
你试过这个吗?
$res = $client->getHttpClient()->get('repos/:user/:repo/events');
echo $res->remainingCalls; // non private var
或者您应该能够调用Response类的每个公共方法
$res->getStatusCode();
$res->getProtocolVersion();
检查可能的方法:
https://github.com/kriswallsmith/Buzz/blob/master/lib/Buzz/Message/Response.php
https://github.com/kriswallsmith/Buzz/blob/master/lib/Buzz/Message/AbstractMessage.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.