dev-master
9999999-dev https://github.com/Topface/petrovich-phpAn easy-to-use PHP Class to decline russian names.
MIT
The Requires
- php >=5.3
by Grigory Parshikov MikeBazhenov
petrovich russian names declension
Wallogit.com
2017 © Pedro Peláez
An easy-to-use PHP Class to decline russian names.
, (*1)
Склонение падежей русских имён, фамилий и отчеств., (*2)
Портированная версия с Ruby на PHP, (*3)
Лицензия MIT, (*4)
https://github.com/parshikov/petrovich-php-example, (*5)
Для работы требуется PHP >= 5.3, (*6)
Загрузите файлы в папку с библиотеками на сервере., (*7)
cd lib git clone https://github.com/petrovich/petrovich-php.git petrovich-php
если вы хотите использовать petrovich как submodule,, (*8)
git submodule add --init https://github.com/petrovich/petrovich-php.git lib/petrovich-php
или просто скачайте исходный код со страницы проекта на Github., (*9)
В библиотеку входит класс Petrovich и trait Trait_Petrovich, (*10)
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 />'; // Пушкина
Trait содержит в себе
* Свойства
* firstname
* middlename
* lastname
* gender
* Методы
* firstname($case)
* middlename($case)
* lastname($case), (*11)
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); // Сергеевича
Названия суффиксов для методов образованы от английских названий соответствующих падежей. Полный список поддерживаемых падежей приведён в таблице ниже., (*12)
| Суффикс метода | Падеж | Характеризующий вопрос |
|---|---|---|
| CASE_NOMENATIVE | именительный | Кто? Что? |
| CASE_GENITIVE | родительный | Кого? Чего? |
| CASE_DATIVE | дательный | Кому? Чему? |
| CASE_ACCUSATIVE | винительный | Кого? Что? |
| CASE_INSTRUMENTAL | творительный | Кем? Чем? |
| CASE_PREPOSITIONAL | предложный | О ком? О чём? |
Метод Petrovich::detectGender возвращает пол, на основе отчества. Возвращаемое значение не зависит от пола, переданного в конструктор.
Для полов определены следующие константы
* GENDER_ANDROGYNOUS - пол не определен;
* GENDER_MALE - мужской пол;
* GENDER_FEMALE - женский пол., (*13)
An easy-to-use PHP Class to decline russian names.
MIT
petrovich russian names declension