masterweber/petrovich-php

原静态all/petrovich-php仓库的分支,增加了测试、PHP8支持和一些小改进

2.0.1 2024-03-15 08:02 UTC

This package is auto-updated.

Last update: 2024-09-15 08:56:10 UTC


README

Petrovich

俄语姓氏、名字和父名的格变。从Ruby端口到PHP的版本,使用Ruby,采用官方规则

安装和使用

需要PHP ~8版本运行

要安装,请将此包添加到Composer的依赖项中,或者手动添加,或者使用以下命令

composer require masterweber/petrovich-php

使用示例

单独名字、姓氏和父名的格变示例

use Masterweber\Petrovich\Petrovich;
use Masterweber\Petrovich\Petrovich\Loader;
use Masterweber\Petrovich\Petrovich\Ruleset;

$petrovich = new Petrovich(Loader::load('path-to-vendor/cloudloyalty/petrovich-rules/rules.json'));

// Родительный падеж
$lastNameGenitive   = $petrovich->inflectLastName('Пушкин', Ruleset::CASE_GENITIVE, Ruleset::GENDER_MALE); // Пушкина
$firstNameGenitive  = $petrovich->inflectFirstName('Александр', Ruleset::CASE_GENITIVE, Ruleset::GENDER_MALE); // Александра
$middleNameGenitive = $petrovich->inflectMiddleName('Сергеевич', Ruleset::CASE_GENITIVE, Ruleset::GENDER_MALE); // Сергеевича

同时名字、姓氏和父名的格变示例

use Masterweber\Petrovich\Petrovich;
use Masterweber\Petrovich\Petrovich\Loader;
use Masterweber\Petrovich\Petrovich\Ruleset;

$petrovich = new Petrovich(Loader::load('path-to-vendor/cloudloyalty/petrovich-rules/rules.json'));

// Родительный падеж
// Важно! На данный момент, такой порядок обязателен
$fullNameGenitive = $petrovich->inflectFullName('Пушкин Александр Сергеевич', Ruleset::CASE_GENITIVE, Ruleset::GENDER_MALE); // Пушкина Александра Сергеевича

如何通过父名确定性别

use Masterweber\Petrovich\Petrovich;

echo Petrovich::detectGender('Петровна'); // Petrovich::GENDER_FEMALE

版本控制

在版本控制方面,遵循SemVer的原则。要查看可用版本,请查看此仓库的标签

作者

所有原始项目的贡献者

以及所有此分支的贡献者

许可证

项目使用MIT许可证 - 要查看许可证,请查看LICENSE.md文件

感谢