topface / petrovich-php
An easy-to-use PHP Class to decline russian names.
Requires
- php: >=5.3
This package is not auto-updated.
Last update: 2024-10-25 22:30:07 UTC
README
Склонение падежей русских имён, фамилий и отчеств.
Портированная версия с 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
как submodule,
git submodule add --init https://github.com/petrovich/petrovich-php.git lib/petrovich-php
или просто скачайте исходный код со страницы проекта на Github.
##Использование
В библиотеку входит класс Petrovich
и trait 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 />'; // Пушкина
Использование trait'а
Trait содержит в себе
- Свойства
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 - женский пол.