staticall/petrovich-php

原始 petrovich/petrovich-php 仓库的分支,包含测试、PHP7 支持 和一些改进

1.4.0 2020-04-11 20:53 UTC

This package is auto-updated.

Last update: 2024-09-16 01:45:10 UTC


README

Petrovich

Build Status Coverage Status Latest Stable Version Code Quality Infection MSI

俄语名字、姓氏和父称的变格。Ruby 版本移植到 PHP,使用 官方规则

安装和使用

需要 PHP >= 7.2.9 运行

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

composer require staticall/petrovich-php

使用示例

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

mb_internal_encoding('UTF-8');

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

$petrovich = new Staticall\Petrovich(Staticall\Petrovich\Loader::load('path-to-vendor/cloudloyalty/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-vendor/cloudloyalty/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

感谢