skypal / php-gedcom
用于PHP 5.3+的GEDCOM文件解析器(读+写)
1.0.4
2017-07-04 00:52 UTC
Requires
- php: >=5.3
Requires (Dev)
- phpunit/phpunit: 3.7.*
- squizlabs/php_codesniffer: 1.*
This package is not auto-updated.
Last update: 2024-09-26 07:27:32 UTC
README
要求
- php-gedcom 1.0+ 需要 PHP 5.3(或更高版本)。
安装
安装php-gedcom有两种方法。
Composer
要使用composer在项目中安装php-gedcom,只需将以下require行添加到项目的composer.json
文件中
{
"require": {
"skypal/php-gedcom": "1.0.*"
}
}
下载和__autoload
如果您不使用composer,您可以从GitHub下载源代码存档并将其提取到项目中。您需要为文件设置一个自动加载器,除非您愿意通过逐个要求所有所需文件进行痛苦的过程。以下内容应该足够
spl_autoload_register(function ($class) { $pathToPhpGedcom = __DIR__ . '/library/'; // TODO FIXME if (!substr(ltrim($class, '\\'), 0, 7) == 'PhpGedcom\\') { return; } $class = str_replace('\\', DIRECTORY_SEPARATOR, $class) . '.php'; if (file_exists($pathToPhpGedcom . $class)) { require_once($pathToPhpGedcom . $class); } });
使用方法
要解析GEDCOM文件并将其加载到PHP对象集合中,只需实例化一个新的Parser对象,并将其要解析的文件名传递给它。结果 Gedcom 对象将包含在提供的GEDCOM文件中存储的所有信息
$parser = new \PhpGedcom\Parser(); $gedcom = $parser->parse('tmp\gedcom.ged'); foreach ($gedcom->getIndi() as $individual) { echo $individual->getId() . ': ' . current($individual->getName())->getSurn() . ', ' . current($indi->$individual())->getGivn(); }