awkaw/petrovich-php

原始 petrovich/petrovich-php 存储库的分支,增加了测试、PHP7 支持和少量改进

1.4.0 2020-04-11 20:53 UTC

This package is auto-updated.

Last update: 2024-09-15 12:26:14 UTC


README

Petrovich

Build Status Coverage Status Latest Stable Version Code Quality Infection MSI

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

安装和使用

需要 PHP >= 7.2.9 运行

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

composer require awkaw/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

感谢