sinri/ark-couchdb
Ark 2 的 CouchDB 组件
1.1.0
2019-01-09 09:51 UTC
Requires
- ext-json: *
- sinri/ark-core: ~2.0
- sinri/ark-curl: ~2.0
This package is auto-updated.
Last update: 2024-09-17 17:18:24 UTC
README
Ark 2 的 CouchDB 组件
CouchDB 是一个提供 HTTP API 服务的 NoSQL 数据库。这个库提供了原始 API 客户端(带有 cURL)和实体类来覆盖基本用法。目前尚未完全完成,只考虑了基本需求。
代理
要连接到 CouchDB 实例,你必须使用连接参数创建一个 ArkCouchDBAgent
类。
$agent = new \sinri\ark\database\couchdb\ArkCouchDBAgent($host, $port, $username, $password);
每个 API 请求都是独立的,因此你可以在项目的任何地方共享这个代理实例。
API 客户端
所有 CouchDB API 都通过 cURL 通过 HTTP 请求。对于请求和响应,定义了两个类,ArkCouchDBRequest
和 ArkCouchDBResponse
。这两个类由 ArkCouchDBAbstractApi
的扩展类使用,该类提供了一个 callApi
方法。该方法接收一个请求实例,并输出一个响应实例。
请求
你应该设置以下属性:
- $api; API 的子 URL。
- $method; 定义为 METHOD 的常量。
- $headers; 头部,作为一个关联数组。
- $queries; 查询,作为一个关联数组。
- $body; 主体。如果类型是 JSON,可以将其设置为数组或对象。
- $bodyType; 定义为 METHOD 的常量。
响应
响应很简单,你可以获取响应 HTTP 状态码和头部信息,以及原始文本和解析后的 JSON 对象(作为数组)。
实现 API
提供了四种类型的 API 客户端:
- 服务器
- 数据库
- 文档
- 设计文档
你可以检查每个 PHPDoc 的用法,并使用引用标签在线查看原始文档。
对象实体
类似于 PDO,设计了两种对象实体。一个用于数据库,一个用于文档。在使用之前必须扩展它们。