staticall / petrovich-php
原始 petrovich/petrovich-php 仓库的分支,包含测试、PHP7 支持 和一些改进
1.4.0
2020-04-11 20:53 UTC
Requires
- php: ^7.2.9
- ext-json: *
- ext-mbstring: *
- cloudloyalty/petrovich-rules: dev-master
- symfony/yaml: ~5.0
Requires (Dev)
- infection/infection: ~0.15.3
- phpunit/phpunit: ~8.5.3
- squizlabs/php_codesniffer: ~3.5.4
This package is auto-updated.
Last update: 2024-09-16 01:45:10 UTC
README
俄语名字、姓氏和父称的变格。Ruby 版本移植到 PHP,使用 官方规则
安装和使用
需要 PHP >= 7.2.9 运行
安装,将此包添加到 Composer 的依赖中,或者手动添加,或者使用以下命令
composer require staticall/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。查看可用版本,请查看此仓库的 标签。
作者
原始项目的所有 贡献者。
以及此分支的所有 贡献者。
许可证
项目使用 MIT 许可证 - 查看许可证,请参阅文件 LICENSE.md