topface/petrovich-php
Composer 安装命令:
composer require topface/petrovich-php
包简介
An easy-to-use PHP Class to decline russian names.
README 文档
README
Склонение падежей русских имён, фамилий и отчеств.
Портированная версия с Ruby на PHP
Лицензия MIT
Пример
https://github.com/parshikov/petrovich-php-example
##Установка
Для работы требуется PHP >= 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 '<br /><strong>Родительный падеж:</strong><br />'; echo $petrovich->firstname($firstname, Petrovich::CASE_GENITIVE).'<br />'; // Александра echo $petrovich->middlename($middlename, Petrovich::CASE_GENITIVE).'<br />'; // Сергеевича echo $petrovich->lastname($lastname, Petrovich::CASE_GENITIVE).'<br />'; // Пушкина
Использование trait'а
Trait содержит в себе
- Свойства
firstnamemiddlenamelastnamegender
- Методы
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 - женский пол.
topface/petrovich-php 适用场景与选型建议
topface/petrovich-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 56.81k 次下载、GitHub Stars 达 4, 最近一次更新时间为 2026 年 01 月 04 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「petrovich」 「russian names declension」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 topface/petrovich-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 topface/petrovich-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 topface/petrovich-php 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Simple class to provide title, first name, middle initial and last name from a full name field (or in reverse). Works well for western(ish) names, but has sensible defaults otherwise
Lithuanian names declension bundle.
Fork of original staticall/petrovich-php repository, with testing, PHP8 support and minor improvements
Library for generating human-readable, random names for objects.
Format names of users into full, familiar and abbreviated forms
Fork of original petrovich/petrovich-php repository, with testing, PHP7 support and minor improvements
统计信息
- 总下载量: 56.81k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 7
- 点击次数: 24
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-04