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

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

topface/petrovich-php
=====================

An easy-to-use PHP Class to decline russian names.

460.0k↓25%2PHP

Since Jun 27Pushed 11y ago4 watchersCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

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

Склонение падежей русских имён, фамилий и отчеств.

Портированная версия с [Ruby](https://github.com/petrovich/petrovich-ruby) на PHP

Лицензия MIT

Пример
------

[](#пример)

\##Установка

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

Загрузите файлы в папку с библиотеками на сервере.

```
cd lib
git clone https://github.com/petrovich/petrovich-php.git petrovich-php
```

если вы хотите использовать `petrovich` как submodule,

```
git submodule add --init https://github.com/petrovich/petrovich-php.git lib/petrovich-php
```

или просто скачайте исходный код со страницы проекта на Github.

\##Использование

В библиотеку входит класс `Petrovich` и trait `Trait_Petrovich`

### Использование класса

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

```
require_once('path-to-lib/petrovich-php/Petrovich.php');

$petrovich = new Petrovich(Petrovich::GENDER_MALE);

$firstname = "Александр";
$middlename = "Сергеевич";
$lastname = "Пушкин";

echo $petrovich->detectGender("Петровна");	// Petrovich::GENDER_FEMALE (см. пункт Пол)

echo 'Родительный падеж:';
echo $petrovich->firstname($firstname, Petrovich::CASE_GENITIVE).''; //	Александра
echo $petrovich->middlename($middlename, Petrovich::CASE_GENITIVE).''; //	Сергеевича
echo $petrovich->lastname($lastname, Petrovich::CASE_GENITIVE).''; //		Пушкина
```

### Использование trait'а

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

Trait содержит в себе

- Свойства
    - `firstname`
    - `middlename`
    - `lastname`
    - `gender`
- Методы
    - `firstname($case)`
    - `middlename($case)`
    - `lastname($case)`

```
require_once('path-to-lib/petrovich-php/Petrovich.php');
require_once('path-to-lib/petrovich-php/Trait/Petrovich.php');

class User {
	use Trait_Petrovich;
}

$user = new User();

$user->lastname = "Пушкин";
$user->firstname = "Александр";
$user->middlename = "Сергеевич";

$user->firstname(Petrovich::CASE_GENITIVE);	// Пушкина
$user->lastname(Petrovich::CASE_GENITIVE);	// Александра
$user->middlename(Petrovich::CASE_GENITIVE);	// Сергеевича
```

Падежи
------

[](#падежи)

Названия суффиксов для методов образованы от английских названий соответствующих падежей. Полный список поддерживаемых падежей приведён в таблице ниже.

Суффикс методаПадежХарактеризующий вопросCASE\_NOMENATIVEименительныйКто? Что?CASE\_GENITIVEродительныйКого? Чего?CASE\_DATIVEдательныйКому? Чему?CASE\_ACCUSATIVEвинительныйКого? Что?CASE\_INSTRUMENTALтворительныйКем? Чем?CASE\_PREPOSITIONALпредложныйО ком? О чём?Пол
---

[](#пол)

Метод `Petrovich::detectGender` возвращает пол, на основе отчества. Возвращаемое значение не зависит от пола, переданного в конструктор. Для полов определены следующие константы

- GENDER\_ANDROGYNOUS - пол не определен;
- GENDER\_MALE - мужской пол;
- GENDER\_FEMALE - женский пол.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 63.4% 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/762010?v=4)[Renat Akhmedyanov](/maintainers/r3nat)[@r3nat](https://github.com/r3nat)

![](https://avatars.githubusercontent.com/u/1548340?v=4)[Tony](/maintainers/tonyspb)[@tonyspb](https://github.com/tonyspb)

---

Top Contributors

[![parshikov](https://avatars.githubusercontent.com/u/983028?v=4)](https://github.com/parshikov "parshikov (26 commits)")[![MikeBazhenov](https://avatars.githubusercontent.com/u/1553430?v=4)](https://github.com/MikeBazhenov "MikeBazhenov (9 commits)")[![tonyspb](https://avatars.githubusercontent.com/u/1548340?v=4)](https://github.com/tonyspb "tonyspb (6 commits)")

### Embed Badge

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

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

###  Alternatives

[rangerz/magento2-module-quicklink

Faster subsequent page-loads by prefetching in-viewport links during idle time.

3410.0k](/packages/rangerz-magento2-module-quicklink)[aozisik/php-turkce

Turkish language friendly string manipulation functions for PHP.

292.1k](/packages/aozisik-php-turkce)[zenstruck/class-metadata

Add human readable class aliases &amp; metadata with efficient lookups.

142.8k5](/packages/zenstruck-class-metadata)

PHPackages © 2026

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