sinri/ark-couchdb

Ark 2 的 CouchDB 组件

1.1.0 2019-01-09 09:51 UTC

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 请求。对于请求和响应,定义了两个类,ArkCouchDBRequestArkCouchDBResponse。这两个类由 ArkCouchDBAbstractApi 的扩展类使用,该类提供了一个 callApi 方法。该方法接收一个请求实例,并输出一个响应实例。

请求

你应该设置以下属性:

  • $api; API 的子 URL。
  • $method; 定义为 METHOD 的常量。
  • $headers; 头部,作为一个关联数组。
  • $queries; 查询,作为一个关联数组。
  • $body; 主体。如果类型是 JSON,可以将其设置为数组或对象。
  • $bodyType; 定义为 METHOD 的常量。

响应

响应很简单,你可以获取响应 HTTP 状态码和头部信息,以及原始文本和解析后的 JSON 对象(作为数组)。

实现 API

提供了四种类型的 API 客户端:

  • 服务器
  • 数据库
  • 文档
  • 设计文档

你可以检查每个 PHPDoc 的用法,并使用引用标签在线查看原始文档。

对象实体

类似于 PDO,设计了两种对象实体。一个用于数据库,一个用于文档。在使用之前必须扩展它们。