gedcomx/gedcomx-php-client

3.0.3 2017-12-12 19:11 UTC

README

⚠️ 该项目已弃用,不再提供支持

GedcomX - PHP SDK

Packagist Build Status Coverage Status Dependency Status

gedcomx-php SDK 是 GEDCOM X 的 PHP 实现,包括 GEDCOM X 扩展项目。

以下内容请参考 wiki:

安装

先决条件

在安装 GedcomX PHP SDK 之前,您必须安装以下组件。

  • PHP 5.5+(此 SDK 的语言)

    • 您可以使用预构建环境安装 PHP,例如 WAMP Server(Windows)、XAMPP(Windows)、MAMP(OS X)或 Vagrant(任何操作系统)。
  • Git(代码版本控制系统)

  • Composer(PHP 包管理器)

    针对 Mac 开发者的说明

    • Mac 开发者可能需要在安装过程中安装 Xcode 开发者工具。
    • Mac 开发者可能需要将 /etc/php.ini 中的 date.timezone 设置为避免出现错误。请参阅 PHP 时区 以找到您所在的时区。例如,
      `date.timezone = "America/Denver"` 
    

您可以通过在命令行或命令提示符中逐行运行以下命令来验证是否已安装所有所需组件:

php -v
composer --version
git --version

安装步骤

注意:您只需要为每个设置的 PHP 项目安装一次 SDK。

GedcomX PHP SDK 使用 Composer 来管理依赖项。以下说明假定您已全局安装了 Composer

执行以下操作之一以激活 Composer 并安装 gedcomx-php SDK 库:

  • 在项目根目录的命令提示符中运行以下命令:

    composer require gedcomx/gedcomx-php-client
    
  • 将以下配置添加到您的 composer.json 文件中,然后在命令提示符中运行 composer install 命令。

    {
        "require": {
        "gedcomx/gedcomx-php-client": "^1.1"
        }
    }

功能

  • GEDCOM X 概念模型

    使用 getter 和 setter 方法实现 GEDCOM X 概念模型,并提供了丰富的 PHP 类。查看 GEDCOM X 概念模型的 视觉图

  • GEDCOM X 序列化

    GEDCOM X 的 XML 和 JSON 序列化和反序列化。有关更多信息,请参阅 示例

  • GEDCOM X RS 客户端

    与遵守 GEDCOM X RS 规范的 Web 服务交互的功能。GEDCOM X RS 是一个定义了用于家谱数据应用的一组 应用状态 的 RESTful 规范。这允许您读取个人、关系、来源描述或其他状态的状态。请查看一些 示例 来了解如何建立 RESTful 状态。

  • FamilySearch API 接口

    FamilySearch API 交互的强大机制。FamilySearchClient 类使您能够轻松地将配置设置到适当的 API 环境(沙盒、测试版、生产版),使用 OAuth2 进行认证,并与 FamilySearch 家谱树和其他服务交互。

变更日志

  • v3.0.3

    • 使用 api-integ 子域而不是 integration
  • v3.0.2

    • 在生产环境中使用新的 api 子域。
  • v3.0.1

    • 使用 integration 而不是 sandbox
  • v3.0.0

  • v2.3.0

    • generateClientSecret() 方法添加到 GedcomxApplicationState
  • v2.2.0

    • logout() 方法添加到应用状态。
  • v2.1.1

    • 支持节流。在 FamilySearchClient 中通过设置 throttling 选项为 true 来启用。
  • v2.0.1

    • 修复 FamilySearchClient 以使其自动跟随重定向。
  • v2.0.0

    • 升级到 Guzzle 6,这使得 PHP 5.5 成为最低支持的版本。
    • $state->getRequest() 返回一个 GuzzleHttp\Psr7\Request
    • $state->getResponse() 返回一个 GuzzleHttp\Psr7\Response
    • FamilySearchClient 上添加一个新的 httpExceptions 配置参数,当从 API 收到 4xx 或 5xx 响应时引发异常。
  • v1.2.0

    • 在使用 FamilySearchClient 时添加自定义用户代理字符串。
    • 在使用 FamilySearchClient 时注册 PSR-3 日志记录器。
    • 在 FamilySearchClient 类中添加 setAccessToken() 方法。
    • 在 PersonsState 中添加 getPerson() 方法。将 PersonParentsState、PersonSpousesState 和 PersonChildrenState 改为扩展 PersonsState。
    • 在 FamilySearchClient 类中添加 getStatus() 方法。
  • v1.1.1

    • 修复 FamilySearchClient 类中的错误。
  • v1.1.0

    • 引入 FamilySearchClient。
    • 修复自动测试。
    • 使用 php-vcr 改善自动测试的运行时间。
    • 删除 apache/log4php 依赖。
  • v1.0.0

    • 初始稳定版本,通过版本号启用 Composer 安装。