masterweber/petrovich-php

Fork of original staticall/petrovich-php repository, with testing, PHP8 support and minor improvements
14,414 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

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

Благодарности

Related Packages

staticall/petrovich-php

Fork of original petrovich/petrovich-php repository, with testing, PHP7 support...

8,121 7
alexeymezenin/laravel-russian-slugs

Russian SEO friendly slugs for Laravel 5

2,591 26
sudoagency/slovak-names

Simple Laravel package that handles the inflection of the most common Slovak fir...

4 2
periloso/laravel-blade-directives-extended

Directive Extensions to Laravel Blade templating engine.

12 2
temperworks/laravel-russian-doll-cache

Laravel Russian Doll Cache Blade Directive

95,660 6