PHPackages                             awkaw/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. awkaw/petrovich-php

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

awkaw/petrovich-php
===================

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

1.4.0(6y ago)01MITPHPPHP ^7.2.9

Since May 18Pushed 3y agoCompare

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

READMEChangelog (1)Dependencies (5)Versions (9)Used By (0)

Petrovich
=========

[](#petrovich)

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

[![Build Status](https://camo.githubusercontent.com/7b33f54b227496ac2077401c82edda6507a5a846d007cdb9ee9627b25a120a36/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f737461746963616c6c2f706574726f766963682d7068702e7376673f6272616e63683d6d6173746572)](https://secure.travis-ci.org/staticall/petrovich-php) [![Coverage Status](https://camo.githubusercontent.com/3c5911b7776e36c8a5dd0368b307daa80b5902d7da51535a16b8465b240d6a91/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f737461746963616c6c2f706574726f766963682d7068702f62616467652e7376673f6272616e63683d6d617374657226736572766963653d676974687562)](https://coveralls.io/github/staticall/petrovich-php?branch=master) [![Latest Stable Version](https://camo.githubusercontent.com/d69bf39e83a7d46ab2f43cf628221cc325dacd26283fa38d65545273f93f108d/68747470733a2f2f706f7365722e707567782e6f72672f737461746963616c6c2f706574726f766963682d7068702f762f737461626c65)](https://packagist.org/packages/awkaw/petrovich-php) [![Code Quality](https://camo.githubusercontent.com/194ba8ac4651dec7efb881991936f7ba0780cc6ea3ce0f3aa03afbb162d79aca/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f737461746963616c6c2f706574726f766963682d7068702f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/staticall/petrovich-php/?branch=master) [![Infection MSI](https://camo.githubusercontent.com/41bd373a54f093a34ea171ce78dc3969852bfa4298ce5647d9eef080325777f5/68747470733a2f2f62616467652e737472796b65722d6d757461746f722e696f2f6769746875622e636f6d2f737461746963616c6c2f706574726f766963682d7068702f6d6173746572)](https://infection.github.io)

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

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

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

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

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

`composer require awkaw/petrovich-php`

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

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

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

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

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

$petrovich = new Staticall\Petrovich(Staticall\Petrovich\Loader::load('path-to-vendor/cloudloyalty/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-vendor/cloudloyalty/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/staticall/petrovich-php/tags).

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

[](#авторы)

Все [контрибьюторы оригинального проекта](https://github.com/petrovich/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)
- [symfony/yaml](https://github.com/symfony/yaml)
- [infection/infection](https://github.com/infection/infection)
- [sebastianbergmann/phpunit](https://github.com/sebastianbergmann/phpunit)
- [squizlabs/php\_codesniffer](https://github.com/squizlabs/php_codesniffer)
- [Coveralls](https://coveralls.io/)
- [Travis CI](https://travis-ci.org/)

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity1

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 50.6% of commits — single point of failure

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 ~65 days

Recently: every ~82 days

Total

6

Last Release

2228d ago

PHP version history (2 changes)1.0.0PHP ^7.1.3

1.3.0PHP ^7.2.9

### Community

Maintainers

![](https://www.gravatar.com/avatar/7da843fb7cd58d75978641f392189c22d0eb0d930fb6b9233c4d8d3dff7fc060?d=identicon)[awkaw](/maintainers/awkaw)

---

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)")[![awkaw](https://avatars.githubusercontent.com/u/16372243?v=4)](https://github.com/awkaw "awkaw (4 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/awkaw-petrovich-php/health.svg)

```
[![Health](https://phpackages.com/badges/awkaw-petrovich-php/health.svg)](https://phpackages.com/packages/awkaw-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)[hackzilla/ticket-bundle

This Bundle provides multilingual ticketing functionality for Symfony applications.

6529.3k1](/packages/hackzilla-ticket-bundle)[heureka/inflection

Czech inflection library

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

Russian porter stemmer

4490.2k1](/packages/nxp-russian-porter-stemmer)

PHPackages © 2026

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