fgrochal / fbbatch
Facebook Batch Requests 类包装器
dev-master
2013-08-22 01:35 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-24 05:34:21 UTC
README
FbBatch 类让你能够非常简单地使用 Facebook Batch Requests。什么是 Facebook Batch Requests?
Graph API 的标准版本旨在简化单个对象的资料获取以及对象之间连接的浏览。它还包括同时获取少量对象数据的有限能力。
如果你的应用需要一次性访问大量数据的能力——或者你需要一次性修改多个对象,那么批量查询通常比多次单独的 HTTP 请求更有效率。
为此,Graph API 支持批量处理。批量处理允许你在一个 HTTP 请求中传递多个操作指令。你也可以指定相关操作之间的依赖关系(在下面的部分中描述)。Facebook 将并行处理你的独立操作,并将依赖于操作按顺序处理。一旦所有操作都完成,将返回一个汇总的响应,并关闭 HTTP 连接。
更多信息:https://developers.facebook.com/docs/reference/api/batch/。
使用 composer 获取源代码
{ "require": { "fgrochal/fbbatch": "dev-master" } }
示例
多个调用
<?php $fb = new Facebook(array('appId' => '####', 'secret' => '####')); $batch = new FbBatch($fb); $me = $batch->api('/me'); $friends = $batch->api('/me/friends'); $batch->send(); var_dump($me->getResult()); var_dump($friends->getResult()); ?>
多个调用
<?php $fb = new Facebook(array('appId' => '###', 'secret' => '###')); $batch = new FbBatch($fb); $pageIds = array('pageId1', 'pageId2', 'pageId3', 'pageId4', 'pageId5', 'pageIdN'); foreach($pageIds as $id) { $batch->api('/' . $id); } $calls = $batch->send(); foreach($calls as $call) { var_dump($call->getResult()); } ?>
依赖关系
<?php $fb = new Facebook(array('appId' => '###', 'secret' => '###')); $batch = new FbBatch($fb); $me = $batch->api('/me'); $favoriteAthletes = $batch->api('?ids=' . $me->getParam('favorite_athletes.*.id')); $batch->send(); var_dump($me->getResult()); var_dump($favoriteAthletes->getResult()); ?>