boshurik/petrovich-php

原始 petrovich/petrovich-php 仓库的分支,增加了测试、现代 PHP 支持,以及一些小改进

2.0.1 2023-08-23 11:13 UTC

This package is auto-updated.

Last update: 2024-09-23 13:32:55 UTC


README

Petrovich

俄文名字、姓氏和父名的变格。从 Ruby 搬运到 PHP 的版本,使用 Ruby,并使用 官方规则

安装和使用

需要 PHP >= 7.2.9 才能运行

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

composer require boshurik/petrovich-php

规则

可以使用以下命令安装规则:

composer require cloudloyalty/petrovich-rules

规则更新频率较低,因此建议将它们保存在您的项目资源中

使用示例

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

mb_internal_encoding('UTF-8');

require_once 'path-to-vendor/autoload.php';

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

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

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

mb_internal_encoding('UTF-8');

require_once 'path-to-vendor/autoload.php';

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

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

如何根据父名确定性别

mb_internal_encoding('UTF-8');

require_once 'path-to-vendor/autoload.php';

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

版本控制

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

作者

所有 原始项目的贡献者

以及所有 原始分支 的贡献者。

许可证

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

感谢