bokhanmax/namecaselib2
最新稳定版本:v1.0.1
Composer 安装命令:
composer require bokhanmax/namecaselib2
包简介
Laravel-ready fork of seagullua/NameCaseLib — PHP library for inflecting Russian and Ukrainian full names
关键字:
README 文档
README
NameCaseLib2 — Laravel-пакет для автоматичного відмінювання ПІБ (прізвище, ім'я, по-батькові) у російській та українській мовах.
Це адаптована для PHP 8.x та Laravel версія бібліотеки NameCaseLib, оригінально написаної Андрієм Чайкою.
Встановлення
composer require bokhanmax/namecaselib2
Публікація конфігу (опціонально):
php artisan vendor:publish --tag=namecaselib-config
Конфігурація
Файл config/namecaselib.php:
return [ 'locale' => 'ua', // 'ua' — українська, 'ru' — російська 'charset' => 'utf-8', ];
Інструкція
Константи падежів
use NameCaseLib2\NCL; NCL::$IMENITLN // 0 — Називний: Іваненко Іван (Хто?) NCL::$RODITLN // 1 — Родовий: Іваненка Івана (Кого?) NCL::$DATELN // 2 — Давальний: Іваненку Івану (Кому?) NCL::$VINITELN // 3 — Знахідний: Іваненка Івана (Кого?) NCL::$TVORITELN // 4 — Орудний: Іваненком Іваном (Ким?) NCL::$PREDLOGN // 5 — Місцевий: Іваненку Івану (Про кого?) // Лише для української мови: NCL::$UaKlychnyi // 6 — Кличний: Іване!
Методи
use NameCaseLib2\Laravel\Facades\NameCase; use NameCaseLib2\NCL; // Усе ПІБ одразу (найзручніший спосіб): NameCase::q('Іваненко Іван Іванович', NCL::$RODITLN, NCL::$MAN); // → "Іваненка Івана Івановича" // Тільки ім'я: NameCase::qFirstName('Іван', NCL::$TVORITELN); // Тільки прізвище: NameCase::qSecondName('Іваненко', NCL::$RODITLN, NCL::$MAN); // Тільки по-батькові: NameCase::qFatherName('Іванович', NCL::$DATELN, NCL::$MAN); // Флюент-стиль: NameCase::setSecondName('Іваненко') ->setFirstName('Іван') ->setFatherName('Іванович') ->setGender(NCL::$MAN) ->getFormatted(NCL::$PREDLOGN); // → "Іваненку Івану Івановичу" // Змінити порядок виводу (S=прізвище, N=ім'я, F=по-батькові): NameCase::setSecondName('Іваненко') ->setFirstName('Іван') ->setGender(NCL::$MAN) ->getFormatted(NCL::$DATELN, 'N S'); // → "Івану Іваненку"
Визначення статі
// З рядка ПІБ — повертає NCL::$MAN (1) або NCL::$WOMAN (2): $gender = NameCase::genderDetect('Іваненко Іван Іванович'); // → 1 $gender = NameCase::genderDetect('Іваненко Олена Петрівна'); // → 2 if ($gender === NCL::$MAN) { echo 'чоловік'; } elseif ($gender === NCL::$WOMAN) { echo 'жінка'; } // Флюент-стиль — якщо слова вже встановлені: $gender = NameCase::setFirstName('Олена') ->setSecondName('Петренко') ->genderAutoDetect(); // → 2
Надійність визначення:
- По-батькові → ~100%
- Ім'я + прізвище → ~100%
- Тільки ім'я → ~98.5%
- Тільки прізвище → ~96%
Історія версій
1.0.0 (2026-06-10)
- Адаптація для PHP 8.x та Laravel
- Додано неймспейси, ServiceProvider, Facade, конфіг
- Виправлено сумісність з PHP 8.4
- Адаптовано тести
- Пакет протестовано на Laravel
0.4.1 (2016-11-23) — оригінальна бібліотека
- Rules updates (5 years of work)
0.4 (2011-07-09)
- Повна переробка коду
- Підтримка різних регістрів слів
0.3 (2011-07-02)
- Кличний відмінок для української
0.1.0 (2011-05-01)
- Перша версія бібліотеки
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-10