承接 bokhanmax/namecaselib2 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-10

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固