gedcomx / gedcomx-php-client
GEDCOM X 的 PHP 库。
Requires
- php: >=5.5
- gedcomx/gedcomx-php: dev-split
- guzzlehttp/guzzle: 6.2.*
- ml/json-ld: 1.*
- psr/log: ^1.0
Requires (Dev)
- fzaninotto/faker: 1.4.*
- intervention/image: 2.0.*
- monolog/monolog: ^1.15
- php-vcr/php-vcr: 1.2.*
- php-vcr/phpunit-testlistener-vcr: ^1.1
- phpunit/phpunit: 3.7.*
- satooshi/php-coveralls: dev-travis-fix
README
⚠️ 该项目已弃用,不再提供支持
GedcomX - PHP SDK
gedcomx-php SDK 是 GEDCOM X 的 PHP 实现,包括 GEDCOM X 扩展项目。
以下内容请参考 wiki:
- 入门教程:gedcomx / gedcomx-php-client
- 示例应用程序:Github 项目 和 运行版本,以演示 gedcomx-php SDK 的基本功能和用法。
- gedcomx-php SDK 文档:gedcomx-php SDK Documentation。
安装
先决条件
在安装 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
- 从 gedcomx-php 中分离出来
-
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 安装。