boshurik / petrovich-php
原始 petrovich/petrovich-php 仓库的分支,增加了测试、现代 PHP 支持,以及一些小改进
2.0.1
2023-08-23 11:13 UTC
Requires
- php: ^7.2.9 | ^8.0
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- cloudloyalty/petrovich-rules: dev-master@dev
- phpunit/phpunit: 9.6
- squizlabs/php_codesniffer: ^3.7
- symfony/yaml: ^2.0 | ^3.0 | ^4.0 | ^5.0
Suggests
- symfony/yaml: To load ruleset in yaml format
README
俄文名字、姓氏和父名的变格。从 Ruby 搬运到 PHP 的版本,使用 Ruby,并使用 官方规则
安装和使用
需要 PHP >= 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 的原则。要查看可用的版本,请查看此仓库的 标签。
作者
所有 原始项目的贡献者。
许可证
项目使用 MIT 许可证 - 要查看许可证,请查看 LICENSE.md 文件