liberu-genealogy / php-gedcom
适用于PHP 8.0+的GEDCOM文件解析器(读+写)
v2.0.6
2024-08-25 12:34 UTC
Requires
- php: >=8.3
Requires (Dev)
- driftingly/rector-laravel: ^0.25.0
- phpunit/phpunit: 11.*
- rector/rector: *
- squizlabs/php_codesniffer: 3.6.*
- dev-main
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- 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-sweep/psr4_ecc88
- dev-sweep/add_status_badge_to_readmemd_for_runtest
- dev-sweep/create_github_workflow_to_run_phpunit_us
- dev-sweep/docstrings-addition_1a773
- dev-sweep/unit-tests-dataoptimizer-sour
- dev-sweep/fix-typo-in-function-name
- dev-sweep/unit-tests-for-new-logic
- dev-sweep/docstrings-enhancement
- dev-sweep/improve_codebase_for_modularization_and
- dev-sweep/add-docstrings-to-writer-test
- dev-sweep/add-unit-tests-writer-test
- dev-sweep/add-docstrings-to-writer
- dev-sweep/refactor-convert-method
- dev-sweep/add-unit-tests_62a15
- dev-sweep/docstrings-addition_ba099
- dev-sweep/add-docstrings
- dev-sweep/psr4
- dev-sweep/refactor-writer-test
- dev-sweep/write_full_tests
- dev-sweep/docstrings-addition
- dev-sweep/docstring-addition
- dev-sweep/convert-method
- dev-sweep/refactor-parser-tests
- dev-sweep/add-unit-tests
- dev-sweep/add-unit-tests-convert-method-writer
- dev-sweep/add-parser-tests
- dev-sweep/add-docstring-to-convert-function
- dev-sweep/refactor-writer-modularity
- dev-sweep/multiple_events_of_same_type
- dev-sweep/missing_data_element
- dev-sweep/your_example_does_not_work
- dev-sweep/revert-convert-method-changes
- dev-sweep/refactor_codebase_to_use_php_83
- dev-sweep/add-sweep-config
- dev-master
This package is auto-updated.
Last update: 2024-09-26 14:26:28 UTC
README
需求
- php-gedcom 1.0+ 需要 PHP 8.3(或更高版本)。
安装
安装php-gedcom有两种方式。
Composer
要使用Composer在项目中安装php-gedcom,只需将以下require行添加到项目的composer.json
文件中
{
"require": {
"liberu-genealogy/php-gedcom": "2.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对象集合中,只需实例化一个新的Parser对象,并传递要解析的文件名。生成的Gedcom对象将包含在提供的GEDCOM文件中存储的所有信息
$parser = new \Gedcom\Parser(); $gedcom = $parser->parse('tmp.ged'); foreach ($gedcom->getIndi() as $individual) { $names = $individual->getName(); if (!empty($names)) { $name = reset($names); // Get the first name object from the array echo $individual->getId() . ': ' . $name->getSurn() . ', ' . $name->getGivn() . PHP_EOL; } }
贡献
欢迎提交pull请求和问题。
许可证
MIT许可证(见License.md)。这意味着您必须保留版权声明和许可通知,适用于所有副本或此软件的大部分内容。