genealogiawebsite / php-gedcom
PHP 8.0+ 的 GEDCOM 文件解析器(读 + 写)
v1.4.10
2021-11-28 12:13 UTC
Requires
- php: >=8.0
Requires (Dev)
- phpunit/phpunit: 9.*
- rector/rector: ^0.11.49
- squizlabs/php_codesniffer: 3.6.*
- dev-master
- v1.4.10
- v1.4.9
- v1.4.8
- v1.4.7
- v1.4.6
- v1.4.5
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4
- v1.3.17
- v1.3.16
- v1.3.15
- v1.3.14
- v1.3.13
- v1.3.12
- v1.3.11
- v1.3.10
- v1.3.9
- v1.3.8
- v1.3.7
- v1.3.6
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-main
This package is auto-updated.
Last update: 2024-09-15 00:04:50 UTC
README
要求
- php-gedcom 1.0+ 需要 PHP 8.0(或更高版本)。
安装
安装 php-gedcom 有两种方式。
Composer
要使用 Composer 在项目中安装 php-gedcom,只需将以下 require 行添加到项目的 composer.json
文件中
{
"require": {
"familytree365/php-gedcom": "1.0.*"
}
}
下载和 __autoload
如果您不使用 composer,可以从 GitHub 下载源代码的存档并将其提取到项目中。您需要设置文件的自加载器,除非您愿意一个接一个地要求所有需要的文件,这个过程可能很繁琐。以下代码应该足够
spl_autoload_register(function ($class) { $pathToGedcom = __DIR__ . '/library/'; // TODO FIXME if (!substr(ltrim($class, '\\'), 0, 7) == 'Gedcom\\') { return; } $class = str_replace('\\', DIRECTORY_SEPARATOR, $class) . '.php'; if (file_exists($pathToGedcom . $class)) { require_once($pathToGedcom . $class); } });
用法
要解析 GEDCOM 文件并将其加载到 PHP 对象集合中,只需实例化一个新的解析器对象,并传递要解析的文件名。结果 Gedcom 对象将包含存储在提供的 GEDCOM 文件中的所有信息
$parser = new \Gedcom\Parser(); $gedcom = $parser->parse('tmp.ged'); foreach ($gedcom->getIndi() as $individual) { echo $individual->getId() . ': ' . current($individual->getName())->getSurn() . ', ' . current($indi->$individual())->getGivn(); }