atolye15/contentful

Contentful 内容交付API的SDK


README

PHP

加入Contentful社区Slack   加入Contentful社区论坛

contentful.php — Contentful PHP Delivery SDK

This repository is actively maintained   MIT License

Packagist   PHP version   Travis   Codecov

PHP SDK,用于Contentful 内容交付API内容预览API。它可以帮助您轻松通过PHP应用程序访问存储在Contentful中的内容。

什么是Contentful?

Contentful 为数字团队提供内容基础设施,以支持网站、应用程序和设备的运行。与 CMS 不同,Contentful 是为了与现代软件堆栈集成而构建的。它提供了一个结构化内容的中心枢纽、强大的管理和交付 API,以及可定制的网络应用程序,使开发人员和内容创作者能够更快地推出他们的产品。

目录

核心功能

入门指南

要开始使用 Contentful PHP SDK,您不仅需要安装它,还需要获取凭证,这些凭证将允许您访问 Contentful 中的内容。此软件包需要 PHP 7.0 或更高版本。

安装

使用 Composer 安装库

composer require contentful/contentful

您的第一个请求

以下代码片段是您可以使用的最基础的代码片段之一,用于使用此 SDK 从 Contentful 获取一些内容:所有与 SDK 的交互都通过 Atolye15\Delivery\Client 进行。要创建一个新的客户端,必须在构造函数中传递访问令牌和空间 ID。

$client = new \Atolye15\Delivery\Client(
    'b4c0n73n7fu1', # This is the access token for this space. Normally you get both ID and the token in the Contentful web app
    'cfexampleapi' # This is the space ID. A space is like a project folder in Contentful terms
);

try {
    $entry = $client->getEntry('nyancat');
} catch (\Contentful\Core\Exception\NotFoundException $exception) {
    // Entry does not exist
}

使用此 SDK 与预览 API

此 SDK 也可以与预览 API 一起使用。为了做到这一点,您需要使用与获取交付 API 令牌相同的页面上的预览 API 访问令牌,并告诉客户端使用不同的 API。

$options = \Atolye15\Delivery\ClientOptions::create()
    ->usingPreviewApi();
$client = new \Atolye15\Delivery\Client($accessToken, $spaceId, $environmentId, $options);

您可以在我们的 参考文档 中找到我们客户端的所有可用方法。

身份验证

要从 Contentful 获取您的内容,应用程序应使用 OAuth 承载令牌进行身份验证。

您可以使用 Contentful 网络界面 创建 API 密钥。转到应用程序,打开您想要访问的空间(左上角列出所有空间),然后转到 API 区域。打开 API 密钥部分并创建您的第一个令牌。完成。

别忘了也要获取您的空间 ID。

有关更多信息,请参阅 Contentful REST API 身份验证参考

文档与参考

配置

ClientOptions 类允许您以各种不同的方式配置客户端

$options = \Atolye15\Delivery\ClientOptions::create()
    ->usingPreviewApi()
    ->withDefaultLocale(string $defaultLocale = null)
    ->withHost(string $host)
    ->withLogger(Psr\Log\LoggerInterface $logger)
    ->withCache(Psr\Cache\CacheItemPoolInterface $cache, bool $autoWarmup = false, bool $cacheContent = false)
    ->withHttpClient(GuzzleHttp\Client $client)
;

$client = new \Atolye15\Delivery\Client(
    string $accessToken,
    string $spaceId,
    string $environmentId = 'master',
    ClientOptions $options = null
);

参考文档

PHP SDK 参考 文档了此库公开的对象和方法,它们期望的参数以及返回的数据类型。

大多数方法也有示例,展示了如何使用它们。

教程及其他资源

  • 此库是我们 Contentful Delivery REST API 的包装器。有关搜索参数和分页等更具体的细节,请参阅 REST API 参考,并且您还可以更好地了解底层请求的外观。
  • 请访问 Contentful for PHP 页面以获取教程、演示应用程序以及有关使用 PHP 与 Contentful 相关的更多信息。

升级

有关如何从3.x版本升级到4.0版本的相关详细信息,请查阅4.0.0版本的变更日志条目升级到4.0版本指南

有关如何从2.x版本升级到3.0版本的相关详细信息,请查阅3.0.0版本的变更日志条目升级到3.0版本指南

联系我们

您对如何使用此库有疑问吗?

  • 请联系我们的社区论坛: Contentful Community Forum
  • 加入我们的社区Slack频道: Contentful Community Slack

您发现了错误或想提出功能建议?

  • 在GitHub上提交问题: File an issue。在分享代码之前,请确保移除任何凭证。

您需要分享机密信息或还有其他问题?

  • 在我们的Contentful客户支持处提交支持工单: File support ticket

参与进来

PRs Welcome

许可

此存储库在MIT许可下发布。

行为准则

我们希望为所有参与者提供一个安全、包容、欢迎且无骚扰的空间和体验,无论其性别认同和表达、性取向、残疾、身体外观、社会经济地位、体型、种族、国籍、经验水平、年龄、宗教(或缺乏宗教)或其他身份标识。

阅读我们的完整行为准则.