topface/petrovich-php

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

dev-master 2014-06-27 14:02 UTC

This package is not auto-updated.

Last update: 2024-09-27 22:07:35 UTC


README

Petrovich

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

从 Ruby 端口移植的 PHP 版本,基于 Ruby

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 - 女性。