umlts/marc_reader

此包的最新版本(dev-master)没有可用的许可信息。

安装: 4

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 0

分支: 0

开放问题: 0

语言:mIRC 脚本

dev-master 2020-09-22 07:33 UTC

This package is auto-updated.

Last update: 2024-09-22 15:59:33 UTC


README

这个库用于那些对速度要求极高的用例。它比 Pear/File_MARC 快得多,尤其是在只需要部分字段的情况下。这使得该类非常适合索引大量记录集。

没有实现写入功能。而且几乎没有检查来确认 MARC 记录是否有效,甚至是格式正确的。

总结一下:它不是 File_MARC 的替代品,而是一个用于特殊用例的库。

用法

大多数方法返回记录的原始数据。有些方法(如 getSomethingAsAssocArray)返回嵌套的关联数组。

MarcRecordReader 类的所有方法都可以静态调用。

include_once __DIR__ . '/vendor/autoload.php';

use Umlts\MarcReader\MarcReader;
use Umlts\MarcReader\MarcRecordReader;

$mr = new MarcReader( '/path/to/marcfile.mrc', MarcReader::SOURCE_FILE );
$record = $mr->nextRaw();

// Get Leader
echo MarcRecordReader::getLeader( $record );

// Get Control Number (Tag 001)
echo MarcRecordReader::get001( $record );

// Get Control Fields
$control_fields = MarcRecordReader::getControlFields( '003', $record );

// Get Data Fields
$raw_data_fields = MarcRecordReader::getDataFields( '245', $record );
foreach ( $raw_data_fields as $field ) {
    print_r( MarcRecordReader::getDataFieldAsAssocArray( $field ) );
}

// Get whole record
$record_as_array = MarcRecordReader::getRecordAsAssocArray( $record );
print_r( $record_as_array );