cloudobjects / sdk
CloudObjects SDK for PHP,用于与CloudObjects的COIDs和对象描述进行交互。
dev-main
2024-09-17 14:46 UTC
Requires
- doctrine/cache: 1.*
- doctrine/common: >=2.6.1
- guzzlehttp/guzzle: >=6.0
- kevinrob/guzzle-cache-middleware: ^3.2
- ml/json-ld: >=1.0.7
- psr/log: >=1.1
- webmozart/assert: ^1.6
Requires (Dev)
- defuse/php-encryption: ^2.2
- nyholm/psr7: ~1.5.1
- phpunit/phpunit: >=4.8.0,<5.0
- symfony/http-foundation: >=4.0
- symfony/psr-http-message-bridge: >=1.1.0
Suggests
- defuse/php-encryption: Required to use CryptoHelper
- nyholm/psr7: Required to use parseSymfonyRequest() in AccountContext.
- symfony/http-foundation: Required to use parseSymfonyRequest() in AccountContext.
- symfony/psr-http-message-bridge: Required to use parseSymfonyRequest() in AccountContext.
This package is auto-updated.
Last update: 2024-09-17 14:46:20 UTC
README
CloudObjects PHP SDK为PHP应用程序提供了对CloudObjects的简单访问。它封装了对象API,以从CloudObjects核心数据库中检索对象,并为它们的RDF描述提供基于对象的访问。该SDK包含一个双层缓存机制(内存缓存和Doctrine缓存驱动程序)。SDK还包括一个辅助类以验证COIDs。
安装
SDK通过packagist分发。composer.json
的require
部分添加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 | 使用的缓存类型。目前支持redis 、file 和none 。 | none |
cache_prefix | 用于缓存ID的前缀。通常不应设置,但在共享缓存中可能有必要。 | clobj |
cache_ttl | 确定对象可以缓存多长时间。 | 60 |
auth_ns | 此检索器所作用的服务命名空间。如果未设置,则API以匿名方式访问。 | null |
auth_secret | 在auth_ns 中的命名空间和cloudobjects.io 之间的共享密钥(用于认证)。如果未设置,则API以匿名方式访问。 | null |
对于redis
缓存
选项 | 描述 | 默认值 |
---|---|---|
cache_provider.redis.host | Redis实例的主机名或IP地址。 | 127.0.0.1 |
cache_provider.redis.port | Redis实例的端口号。 | 6379 |
对于file
缓存
选项 | 描述 | 默认值 |
---|---|---|
cache_provider.file.directory | 存储缓存数据所在的目录。 | 系统临时目录。 |
许可
PHP SDK在Mozilla Public License下授权(见LICENSE文件)。