scriptotek/oai-pmh-client
最新稳定版本:v0.7.1
Composer 安装命令:
composer require scriptotek/oai-pmh-client
包简介
Package for harvesting data from OAI-PMH repositories
关键字:
README 文档
README
Note: This package is abandoned. I recommend using the caseyamcl/phpoaipmh package instead. It has an almost identical interface, great code quality and more contributors, so I see no reason to continue maintaining this package.
php-oai-pmh-client
Simple PHP client package for fetching data from an OAI-PMH server, using the Guzzle HTTP client. The returned data is parsed by QuiteSimpleXMLElement.
On network problems, the client will retry a configurable number of times,
emitting a request.error event each time, before finally throwing
a ConnectionError.
Install using Composer
composer require scriptotek/oai-pmh-client
Example
require_once('vendor/autoload.php'); use Scriptotek\OaiPmh\Client as OaiPmhClient; $url = 'http://oai.bibsys.no/repository'; $client = new OaiPmhClient($url, array( 'schema' => 'marcxchange', 'user-agent' => 'MyTool/0.1', 'max-retries' => 10, 'sleep-time-on-error' => 30, ));
Fetching a single record
try { $record = $client->record('oai:bibsys.no:biblio:113889372'); } catch (Scriptotek\OaiPmh\ConnectionError $e) { echo $e->getMsg(); die; } catch (Scriptotek\OaiPmh\BadRequestError $e) { echo 'Bad request: ' . $e->getMsg() . "\n"; die; } echo $record->identifier . "\n"; echo $record->datestamp . "\n"; echo $record->data->asXML() . "\n";
Iterating over a record set
foreach ($client->records('') as $record) { echo $record->identifier . "\n"; echo $record->datestamp . "\n"; }
Events
$client->on('request.start', function($verb) { print "Starting " . $verb . " request\n"; }); $client->on('request.error', function($err) { print "Non-fatal error: " . $err . "\n"; }); $client->on('request.complete', function($verb) { print "Completed " . $verb . " request\n"; });
API documentation
API documentation can be generated using e.g. Sami,
which is included in the dev requirements of composer.json.
php vendor/bin/sami.php update sami.config.php -v
You can view it at scriptotek.github.io/php-oai-pmh-client
scriptotek/oai-pmh-client 适用场景与选型建议
scriptotek/oai-pmh-client 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 507 次下载、GitHub Stars 达 2, 最近一次更新时间为 2015 年 03 月 15 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「OAI-PMH」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 scriptotek/oai-pmh-client 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 scriptotek/oai-pmh-client 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 scriptotek/oai-pmh-client 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A PHP OAI-PMH 2.0 Harvester library
Bundle for Symfony2 that provides an Oai-Pmh server for your data
Implementation of the core functionalities for an OAI-PMH 2.0 Data Provider written in PHP
This is a stand-alone and easy to install data provider implementing the Open Archives Initiative's Protocol for Metadata Harvesting (OAI-PMH).
This is a stand-alone OAI-PMH 2.0 data provider. It serves records in any XML metadata format from a database, supports deleted records, resumption tokens and sets.
Laravel-native OAI-PMH 2.0 server: verb dispatching, resumption tokens, Blade views, pluggable repository contract.
统计信息
- 总下载量: 507
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 20
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-03-15