slowprog/petrovich-php

一个易于使用的PHP类,用于俄语姓名的变格。

1.0.3 2019-05-24 18:46 UTC

This package is auto-updated.

Last update: 2024-08-25 07:29:10 UTC


README

Petrovich

俄语姓名、姓氏和名字的变格。这是从 Ruby 端口移植到 PHP 的版本,增加了某些额外功能。

MIT 许可证。

安装

{
    "require": {
        "slowprog/petrovich-php": "^1.0",
        "cloudloyalty/petrovich-rules": "dev-master"
    }
}

使用类

require __DIR__.'./vendor/autoload.php';

$petrovich = new Petrovich();

$firstname  = "Александр";
$middlename = "Сергеевич";
$lastname   = "Пушкин";
$fullName   = 'Васильков Генадий Павлович';

echo $petrovich->detectGender("Петровна"); // Petrovich::GENDER_FEMALE (см. пункт Пол)

echo $petrovich->firstname($firstname, Petrovich::CASE_GENITIVE, Petrovich::GENDER_MALE); // Александра

echo $petrovich->middlename($middlename, Petrovich::CASE_GENITIVE, Petrovich::GENDER_MALE); // Сергеевича

echo $petrovich->lastname($lastname, Petrovich::CASE_GENITIVE, Petrovich::GENDER_MALE); // Пушкина

echo $mihalich->initial($fullName); // Васильков Г. П.

echo $mihalich->inflectFullName($fullName, Petrovich::CASE_GENITIVE); // Василькова Генадия Павловича

echo $mihalich->initial(
    $mihalich->inflectFullName(
        $fullName, 
        Petrovich::CASE_GENITIVE
    )
); // Василькова Г. П.

变格

方法名称的名称后缀来自相应变格的英文名称。下面列出了支持的变格的完整列表。

性别

Petrovich::detectGender 方法根据姓氏返回性别。返回值不受构造函数中传递的性别的影响。定义了以下性别常量:

  • GENDER_ANDROGYNOUS - 性别未定义;
  • GENDER_MALE - 男性;
  • GENDER_FEMALE - 女性。