masterweber/petrovich-php
Fork of original staticall/petrovich-php repository, with testing, PHP8 support and minor improvements
13,761
2
| Install | |
|---|---|
composer require masterweber/petrovich-php |
|
| Latest Version: | 2.0.1 |
| PHP: | ~8 |
| License: | MIT |
| Last Updated: | Mar 15, 2024 |
| Links: | GitHub · Packagist |
Maintainer: masterWeber
Petrovich

Склонение падежей русских имён, фамилий и отчеств. Портированная версия с Ruby на PHP, использует официальные правила
Установка и использование
Для работы требуется PHP ~8
Для установки, добавьте данный пакет в зависимости Composer, либо вручную, либо используя следующую команду:
composer require masterweber/petrovich-php
Пример использования
Пример склонения отдельно имени, фамилии и отчества:
use Masterweber\Petrovich\Petrovich;
use Masterweber\Petrovich\Petrovich\Loader;
use Masterweber\Petrovich\Petrovich\Ruleset;
$petrovich = new Petrovich(Loader::load('path-to-vendor/cloudloyalty/petrovich-rules/rules.json'));
// Родительный падеж
$lastNameGenitive = $petrovich->inflectLastName('Пушкин', Ruleset::CASE_GENITIVE, Ruleset::GENDER_MALE); // Пушкина
$firstNameGenitive = $petrovich->inflectFirstName('Александр', Ruleset::CASE_GENITIVE, Ruleset::GENDER_MALE); // Александра
$middleNameGenitive = $petrovich->inflectMiddleName('Сергеевич', Ruleset::CASE_GENITIVE, Ruleset::GENDER_MALE); // Сергеевича
Пример склонения одновременно имени, фамилии и отчества:
use Masterweber\Petrovich\Petrovich;
use Masterweber\Petrovich\Petrovich\Loader;
use Masterweber\Petrovich\Petrovich\Ruleset;
$petrovich = new Petrovich(Loader::load('path-to-vendor/cloudloyalty/petrovich-rules/rules.json'));
// Родительный падеж
// Важно! На данный момент, такой порядок обязателен
$fullNameGenitive = $petrovich->inflectFullName('Пушкин Александр Сергеевич', Ruleset::CASE_GENITIVE, Ruleset::GENDER_MALE); // Пушкина Александра Сергеевича
Как можно определить пол по отчеству:
use Masterweber\Petrovich\Petrovich;
echo Petrovich::detectGender('Петровна'); // Petrovich::GENDER_FEMALE
Версионирование
При версионировании, следуем заветам SemVer. Для просмотра доступных версий, взгляните на теги этого репозитория.
Авторы
Все контрибьюторы оригинального проекта.
А также все контрибьюторы этого форка.
Лицензия
Проект использует лицензию MIT - для просмотра лицензии, посмотрите файл LICENSE.md