PHPackages                             boshurik/petrovich-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. boshurik/petrovich-php

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

boshurik/petrovich-php
======================

Fork of original petrovich/petrovich-php repository, with testing, modern PHP support and minor improvements

2.0.2(10mo ago)11.8k↓50%MITPHPPHP ^7.2.9 | ^8.0

Since May 18Pushed 10mo agoCompare

[ Source](https://github.com/BoShurik/petrovich-php)[ Packagist](https://packagist.org/packages/boshurik/petrovich-php)[ RSS](/packages/boshurik-petrovich-php/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (4)Versions (10)Used By (0)

Petrovich
=========

[](#petrovich)

[![Petrovich](https://camo.githubusercontent.com/e4a8f17e5d5dc26c86b5321aaf9a7491438714720d27ffd16bc9d82c7ea7eccd/68747470733a2f2f7261772e6769746875622e636f6d2f726f637363692f706574726f766963682f6d61737465722f706574726f766963682e706e67)](https://camo.githubusercontent.com/e4a8f17e5d5dc26c86b5321aaf9a7491438714720d27ffd16bc9d82c7ea7eccd/68747470733a2f2f7261772e6769746875622e636f6d2f726f637363692f706574726f766963682f6d61737465722f706574726f766963682e706e67)

Склонение падежей русских имён, фамилий и отчеств. Портированная версия с [Ruby](https://github.com/petrovich/petrovich-ruby) на PHP, использует [официальные правила](https://github.com/petrovich/petrovich-rules)

Установка и использование
-------------------------

[](#установка-и-использование)

Для работы требуется PHP &gt;= 7.2.9

Для установке, добавьте данный пакет в зависимости *Composer*, либо вручную, либо используя следующую команду:

`composer require boshurik/petrovich-php`

Правила
-------

[](#правила)

Для установки правил можно использовать

`composer require cloudloyalty/petrovich-rules`

Правила обновляются редко, поэтому хорошей идеей будет сохранить их в ресурсах вашего проекта

### Пример использования

[](#пример-использования)

Пример склонения отдельно имени, фамилии и отчества:

```
mb_internal_encoding('UTF-8');

require_once 'path-to-vendor/autoload.php';

$petrovich = new Staticall\Petrovich(Staticall\Petrovich\Loader::load('path-to-petrovich-rules/rules.json'));

// Родительный падеж
$lastNameGenitive   = $petrovich->inflectLastName('Пушкин', Staticall\Petrovich\Ruleset::CASE_GENITIVE, Staticall\Petrovich\Ruleset::GENDER_MALE); // Пушкина
$firstNameGenitive  = $petrovich->inflectFirstName('Александр', Staticall\Petrovich\Ruleset::CASE_GENITIVE, Petrovich\Ruleset::GENDER_MALE); // Александра
$middleNameGenitive = $petrovich->inflectMiddleName('Сергеевич', Staticall\Petrovich\Ruleset::CASE_GENITIVE, Staticall\Petrovich\Ruleset::GENDER_MALE); // Сергеевича
```

Пример склонения одновременно имени, фамилии и отчества:

```
mb_internal_encoding('UTF-8');

require_once 'path-to-vendor/autoload.php';

$petrovich = new Staticall\Petrovich(Staticall\Petrovich\Loader::load('path-to-petrovich-rules/rules.json'));

// Родительный падеж
// Важно! На данный момент, такой порядок обязателен
$fullNameGenitive = $petrovich->inflectFullName('Пушкин Александр Сергеевич', Staticall\Petrovich\Ruleset::CASE_GENITIVE, Staticall\Petrovich\Ruleset::GENDER_MALE); // Пушкина Александра Сергеевича
```

Как можно определить пол по отчеству:

```
mb_internal_encoding('UTF-8');

require_once 'path-to-vendor/autoload.php';

echo Staticall\Petrovich::detectGender('Петровна'); // Petrovich::GENDER_FEMALE
```

Версионирование
---------------

[](#версионирование)

При версионировании, следуем заветам [SemVer](http://semver.org/). Для просмотра доступных версий, взгляните на [теги этого репозитория](https://github.com/boshurik/petrovich-php/tags).

Авторы
------

[](#авторы)

Все [контрибьюторы оригинального проекта](https://github.com/petrovich/petrovich-php/contributors).

А также все [контрибьюторы этого](https://github.com/BoShurik/petrovich-php/contributors) и [оригинального форка](https://github.com/staticall/petrovich-php/contributors).

Лицензия
--------

[](#лицензия)

Проект использует лицензию MIT - для просмотра лицензии, посмотрите файл [LICENSE.md](LICENSE.md)

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

[](#благодарности)

- [petrovich/petrovich-rules](https://github.com/petrovich/petrovich-rules)
- [cloudloyalty/petrovich-rules](https://github.com/cloudloyalty/petrovich-rules)
- [staticall/petrovich-php](https://github.com/staticall/petrovich-php)
- [symfony/yaml](https://github.com/symfony/yaml)
- [sebastianbergmann/phpunit](https://github.com/sebastianbergmann/phpunit)
- [squizlabs/php\_codesniffer](https://github.com/squizlabs/php_codesniffer)

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance54

Moderate activity, may be stable

Popularity20

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~280 days

Recently: every ~507 days

Total

9

Last Release

312d ago

Major Versions

1.4.0 → 2.0.02023-07-26

PHP version history (3 changes)1.0.0PHP ^7.1.3

1.3.0PHP ^7.2.9

2.0.0PHP ^7.2.9 | ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/6c993e095b7e97c566f5079dfba606f34afbbc8d096bb74cabbb09ab4248dd3a?d=identicon)[BoShurik](/maintainers/BoShurik)

---

Top Contributors

[![staticall](https://avatars.githubusercontent.com/u/611107?v=4)](https://github.com/staticall "staticall (45 commits)")[![parshikov](https://avatars.githubusercontent.com/u/983028?v=4)](https://github.com/parshikov "parshikov (29 commits)")[![MikeBazhenov](https://avatars.githubusercontent.com/u/1553430?v=4)](https://github.com/MikeBazhenov "MikeBazhenov (9 commits)")[![BoShurik](https://avatars.githubusercontent.com/u/1428848?v=4)](https://github.com/BoShurik "BoShurik (8 commits)")[![5818959](https://avatars.githubusercontent.com/u/1871115?v=4)](https://github.com/5818959 "5818959 (1 commits)")[![nixprosoft](https://avatars.githubusercontent.com/u/5313478?v=4)](https://github.com/nixprosoft "nixprosoft (1 commits)")

---

Tags

inflectionrussianpetrovichdeclination

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/boshurik-petrovich-php/health.svg)

```
[![Health](https://phpackages.com/badges/boshurik-petrovich-php/health.svg)](https://phpackages.com/packages/boshurik-petrovich-php)
```

###  Alternatives

[doctrine/inflector

PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.

11.4k855.8M711](/packages/doctrine-inflector)[wapmorgan/morphos

A morphological solution for Russian and English language written completely in PHP. Provides classes to inflect personal names, geographical names, decline and pluralize nouns, generate cardinal and ordinal numerals, spell out money amounts and time.

8351.3M7](/packages/wapmorgan-morphos)[wapmorgan/yii2-inflection

Inflection extension for Yii2. Support for English / Russian languages to inflect words / names / numbers / money / date&amp;time.

32112.3k](/packages/wapmorgan-yii2-inflection)[heureka/inflection

Czech inflection library

6163.9k](/packages/heureka-inflection)[nxp/russian-porter-stemmer

Russian porter stemmer

4490.2k1](/packages/nxp-russian-porter-stemmer)[hackzilla/ticket-bundle

This Bundle provides multilingual ticketing functionality for Symfony applications.

6529.3k1](/packages/hackzilla-ticket-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
