CloudObjects SDK for PHP,用于与CloudObjects的COIDs和对象描述进行交互。

dev-main 2024-09-17 14:46 UTC

This package is auto-updated.

Last update: 2024-09-17 14:46:20 UTC


README

Latest Stable Version Total Downloads

buddy branch

CloudObjects PHP SDK为PHP应用程序提供了对CloudObjects的简单访问。它封装了对象API,以从CloudObjects核心数据库中检索对象,并为它们的RDF描述提供基于对象的访问。该SDK包含一个双层缓存机制(内存缓存和Doctrine缓存驱动程序)。SDK还包括一个辅助类以验证COIDs。

安装

SDK通过packagist分发。composer.jsonrequire部分添加cloudobjects/sdk,如下所示:

{
  "require": {
    "cloudobjects/sdk" : ">=0.7"
  }
}

检索对象

要从CloudObjects核心数据库检索对象,您需要创建一个CloudObjects\SDK\ObjectRetriever实例。然后您可以调用getObject()。此方法返回一个ML\JsonLD\Node实例或null(如果找不到对象)。您可以使用JsonLD库的对象接口从对象中读取信息。

以下是一个简单的示例

use ML\IRI\IRI;
use CloudObjects\SDK\ObjectRetriever;

/* ... */

$retriever = new ObjectRetriever();
$object = $this->retriever->getObject(new IRI('coid://cloudobjects.io'));
if (isset($object))
    echo $object->getProperty('http://www.w3.org/2000/01/rdf-schema#label')->getValue();
else
    echo "Object not found.";

配置

您可以将配置选项的数组传递给ObjectRetriever的构造函数

选项描述默认值
cache_provider使用的缓存类型。目前支持redisfilenonenone
cache_prefix用于缓存ID的前缀。通常不应设置,但在共享缓存中可能有必要。clobj
cache_ttl确定对象可以缓存多长时间。60
auth_ns此检索器所作用的服务命名空间。如果未设置,则API以匿名方式访问。null
auth_secretauth_ns中的命名空间和cloudobjects.io之间的共享密钥(用于认证)。如果未设置,则API以匿名方式访问。null

对于redis缓存

选项描述默认值
cache_provider.redis.hostRedis实例的主机名或IP地址。127.0.0.1
cache_provider.redis.portRedis实例的端口号。6379

对于file缓存

选项描述默认值
cache_provider.file.directory存储缓存数据所在的目录。系统临时目录。

许可

PHP SDK在Mozilla Public License下授权(见LICENSE文件)。