gioppy/statamic-rest-client

Statamic REST API 的简单 PHP 客户端

v1.1.1 2024-03-22 10:36 UTC

This package is auto-updated.

Last update: 2024-09-22 11:39:02 UTC


README

本软件包提供 Statamic REST API 的简单客户端。

它主要适用于 SSG php 系统,如 Jigsaw,但也可在任何环境中使用。

安装

composer require gioppy/statamic-rest-client

该软件包需要至少 php 8.1,并依赖于 guzzlehttp/guzzleilluminate/collections

如何使用

安装后,您可以使用经典 new 操作符创建新的客户端

new StatamicRestClient(...)

或使用静态方法

StatamicRestClient::make(...)

您可以传递两个值:您的 Statamic 安装的主机(例如:https://www.my-statmic.com)和可选的 API 端点路径(默认为 api,但您可以在 Statamic API 配置 中自定义)。

过滤器

您可以使用 ->where() 方法以两种可能的方式使用过滤器对 API 进行过滤。您可以过滤单个值

StatamicRestClient::make(...)
  ->where('featured', true)

或使用条件

StatamicRestClient::make(...)
  ->where('title', 'awesome', 'contains')

排序

您可以使用 ->sort() 方法通过传递字段数组对响应进行排序

StatamicRestClient::make(...)
  ->sort(['one', '-two', 'three'])

选择字段

您可以使用 ->fields() 方法指定应包含在响应中的字段,传递字段数组

StatamicRestClient::make(...)
  ->fields(['id', 'title', 'content'])

分页

您可以使用 ->paginate() 方法通过传递所需的项目数和可选的页码数来分页响应

StatamicRestClient::make(...)
  ->paginate(5, 2)

条目 / 条目

获取集合的所有条目

StatamicRestClient::make(...)
  ->entries('collection')

从集合获取一个条目

StatamicRestClient::make(...)
  ->entry('collection', 'id')

集合树

待办事项

导航树

StatamicRestClient::make(...)
  ->navigation('navigation_name')

分类术语 / 分类术语

获取分类的所有术语

StatamicRestClient::make(...)
  ->terms('taxonomy_name')

从分类获取单个术语

StatamicRestClient::make(...)
  ->term('taxonomy_name', 'taxonomy_slug')

全局变量 / 全局

获取所有全局变量

StatamicRestClient::make(...)
  ->globals()

获取单个全局变量

StatamicRestClient::make(...)
  ->global('handle')

资产 / 资产

获取一个容器中所有资产

StatamicRestClient::make(...)
  ->assets('container')

获取单个资产

StatamicRestClient::make(...)
  ->asset('container', 'path')

通过其 ID 获取单个资产

StatamicRestClient::make(...)
  ->assetById('id')

资产的 id 由 Statamic 格式化为 container::path

获取响应

您可以使用 ->all() 方法获取所有响应作为数组,包括链接和其他节点

StatamicRestClient::make(...)
  ->entries('collection')
  ->all()

或您可以使用 ->data() 方法只获取数据节点

StatamicRestClient::make(...)
  ->entries('collection')
  ->data()

如果您需要将 data 作为集合,可以使用 ->toCollection() 方法

StatamicRestClient::make(...)
  ->entries('collection')
  ->toCollection()

与 Statamic Glide Rest 集成

Statami Glide Rest 是 Statamic 的小型插件,它将 glide 操作预设公开在 REST API 端点。您可以使用 StatamicGlideRest 类获取带有 glide 预设的资产响应

StatamicGlideRest::make($host)
  ->presets(['small', 'medium'])
  ->glide('container::path')
  ->data()

待办事项

  • 条目
  • 条目
  • 集合树
  • 导航树
  • 分类术语
  • 分类术语
  • 资产
  • 资产
  • 全局变量
  • 全局
  • 测试
  • Statamic Glide Rest 集成
  • Laravel 集成