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

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

masterweber/petrovich-php
=========================

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

2.0.1(2y ago)214.2k↓42.9%MITPHPPHP ~8

Since May 18Pushed 2y ago1 watchersCompare

[ Source](https://github.com/masterWeber/petrovich-php)[ Packagist](https://packagist.org/packages/masterweber/petrovich-php)[ RSS](/packages/masterweber-petrovich-php/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (2)Dependencies (5)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 ~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](http://semver.org/). Для просмотра доступных версий, взгляните на [теги этого репозитория](https://github.com/masterweber/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/)

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity27

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity65

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

Recently: every ~433 days

Total

8

Last Release

841d ago

Major Versions

1.4.0 → 2.0.02021-05-29

PHP version history (3 changes)1.0.0PHP ^7.1.3

1.3.0PHP ^7.2.9

2.0.0PHP ~8

### Community

Maintainers

![](https://www.gravatar.com/avatar/34d2886f50d9f510a3dcfeac56044b9d51751f1708df324cff83d3b57cf75968?d=identicon)[masterWeber](/maintainers/masterWeber)

---

Top Contributors

[![staticall](https://avatars.githubusercontent.com/u/611107?v=4)](https://github.com/staticall "staticall (47 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)")[![masterWeber](https://avatars.githubusercontent.com/u/47494224?v=4)](https://github.com/masterWeber "masterWeber (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)")[![BoShurik](https://avatars.githubusercontent.com/u/1428848?v=4)](https://github.com/BoShurik "BoShurik (1 commits)")

---

Tags

inflectionrussianpetrovichdeclination

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

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

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

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)[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.4M7](/packages/wapmorgan-morphos)[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1189.8k](/packages/rcsofttech-audit-trail-bundle)[altis/local-server

Local Server module for Altis

18221.6k3](/packages/altis-local-server)[wapmorgan/yii2-inflection

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

33120.9k](/packages/wapmorgan-yii2-inflection)

PHPackages © 2026

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