zoon/petrovich-php

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

0.2.0 2024-03-14 10:49 UTC

This package is auto-updated.

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


README

Petrovich

俄语人名、姓氏和名字的格变。

基于 Ruby 的 PHP 端移植版

MIT 许可证

示例

https://github.com/parshikov/petrovich-php-example

##安装

需要 PHP >= 5.3

将文件加载到服务器上的库目录中。

cd lib
git clone https://github.com/petrovich/petrovich-php.git petrovich-php

如果您想将 petrovich 作为子模块使用,

git submodule add --init https://github.com/petrovich/petrovich-php.git lib/petrovich-php

或者直接从 Github 项目页面下载源代码。

##使用

库中包含 Petrovich 类和 Trait_Petrovich 特性

使用类

require_once('path-to-lib/petrovich-php/Petrovich.php');

$petrovich = new Petrovich(Petrovich::GENDER_MALE);

$firstname = "Александр";
$middlename = "Сергеевич";
$lastname = "Пушкин";

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

echo '<br /><strong>Родительный падеж:</strong><br />';
echo $petrovich->firstname($firstname, Petrovich::CASE_GENITIVE).'<br />'; //	Александра
echo $petrovich->middlename($middlename, Petrovich::CASE_GENITIVE).'<br />'; //	Сергеевича
echo $petrovich->lastname($lastname, Petrovich::CASE_GENITIVE).'<br />'; //		Пушкина

使用特性

特性包含以下内容

  • 属性
    • firstname
    • middlename
    • lastname
    • gender
  • 方法
    • firstname($case)
    • middlename($case)
    • lastname($case)
require_once('path-to-lib/petrovich-php/Petrovich.php');
require_once('path-to-lib/petrovich-php/Trait/Petrovich.php');
	
class User {
	use Trait_Petrovich;
}

$user = new User();

$user->lastname = "Пушкин";
$user->firstname = "Александр";
$user->middlename = "Сергеевич";

$user->firstname(Petrovich::CASE_GENITIVE);	// Пушкина
$user->lastname(Petrovich::CASE_GENITIVE);	// Александра
$user->middlename(Petrovich::CASE_GENITIVE);	// Сергеевича

方法的名称后缀由相应的格的英文名称生成。下面是支持的格的完整列表。

性别

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

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