superdesk / contentapi-sdk-php
用 PHP 编写的 Superdesk 内容 API SDK
v0.1
2015-08-26 12:45 UTC
Requires
- php: >=5.3
Requires (Dev)
- phpspec/phpspec: ~2.0
This package is auto-updated.
Last update: 2024-08-29 04:19:51 UTC
README
这是一个用于 Superdesk 内容 API 的 PHP SDK。
有关 Superdesk 内容 API 的更多信息,请阅读文档。
安装
需求
- PHP >= 5.3
当使用 CurlApiClient 和 CurlClient 类时,请确保已安装以下 PHP 扩展
Composer
- 将 SDK 作为 composer 依赖项要求
$ php composer.phar require superdesk/contentapi-sdk-php
手动
- 下载 SDK 的副本
- 将类添加到您的自动加载器
定制
您可以使用自己的客户端类代替 CurlClient 和 CurlApiClient 文件。如果您的框架或项目已经拥有自己的 http 客户端,这将非常有用,您可以轻松地整合它,而不需要多个依赖项。您需要做的就是实现 ClientInterface 和 ClientApiInterface。对于 ClientApi 类,还有一个有用的抽象类 AbstractApiClient,其中包含一些合理的默认值。
示例
此示例使用了 CurlClient 和 CurlApiClient 文件。
您可以通过命令行运行 example.php
$ php sample/default-client/example.php
确保已启用 cURL 和 多字节字符串 扩展,并且已安装依赖项。
$ php composer.phar install --no-dev
示例
身份验证
OAuth 用户名和密码身份验证。如果之前的令牌无效,CurlApiClient 将自动尝试获取新的访问令牌。
<?php use Superdesk\ContentApiSdk\ContentApiSdk; use Superdesk\ContentApiSdk\Client\CurlClient; use Superdesk\ContentApiSdk\Client\CurlApiClient; use Superdesk\ContentApiSdk\Api\Authentication\OAuthPasswordAuthentication; $genericClient = new CurlClient(); $authentication = new OAuthPasswordAuthentication($genericClient); $authentication ->setClientId(API_CLIENT_ID) ->setUsername(API_USERNAME) ->setPassword(API_PASSWORD); $apiClient = new CurlApiClient($genericClient, $authentication); $contentApi = new ContentApiSdk($apiClient, API_HOST, API_PORT, API_PROTOCOL); ?>
分页和遍历结果
我们使用 Pagerfanta 作为分页库。从方法 getItems(...) 和 getPackages(...) 返回的所有结果实际上都是 Pagerfanta 实例。这应该足以遍历您的 API 结果,并构建您自己的分页。
<?php use Superdesk\ContentApiSdk\ContentApiSdk; $contentApi = new ContentApiSdk(...); $maxPerPage = 1; $startPage = 1; $items = $contentApi->getItems(array(), $startPage, $maxPerPage); $items->getNbResults(); // Total items $items->getMaxPerPage(); // Max results per age == $maxPerPage $items->getNbPages(); // Total pages ?>