定制 haikiri/declension-helper 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

haikiri/declension-helper

最新稳定版本:1.0.0

Composer 安装命令:

composer require haikiri/declension-helper

包简介

This package is made for work with the declensions of pronouns in languages such as Russian and Ukrainian.

README 文档

README

Этот пакет предназначен для работы со склонениями местоимений в таких языках, как русский и украинский.

Требования

  • Composer
  • PHP 8+

Установка

composer req haikiri/declension-helper

Описание

Вся работа с библиотекой сводится к двум основным операциям:

  • Запись
  • Чтение

Запись

Для записи используется метод set:

  • key: Это идентификатор для получения форм.
  • forms: Это формы склонения для языка в зависимости от значения.
Declension::set("роутер", ["роутер", "роутера", "роутеров"]);

Чтение

Для чтения используются два метода:

  • ::get – Для получения формы склонения.
  • ::format – Для получения подготовленного текста (из шаблона).

То есть, при использовании Declension::get метод вернёт роутер, роутера или роутеров, в зависимости от числа. А при использовании Declension::format метод вернёт текст по вашему шаблону, или по шаблону по умолчанию.

Обрати внимание, что значение параметра number будет преобразовано и обрезано до минимального int остатка.

Например: (string) "-5.25" будет преобразовано в (intval) -6

Например: (float) 5.25 будет преобразовано в (intval) 5

Пример использования

Более подробные примеры использования можно найти в тестах: \Haikiri\DeclensionHelper\Declension\DeclensionTest

<?php

require "vendor/autoload.php";

use Haikiri\DeclensionHelper\Declension;

Получаем только форму склонения:

Declension::set(key: "usd", forms: ["доллар", "доллара", "долларов"]);

$var = Declension::get(number: 0, key: "usd"); # Вывод: `долларов` от `0 долларов`
$var = Declension::get(number: 1, key: "usd"); # Вывод: `доллар` от `1 доллар`
$var = Declension::get(number: 2, key: "usd"); # Вывод: `доллара` от `2 доллара`
$var = Declension::get(number: "5", key: "usd"); # Вывод: `долларов` от `5 долларов`

Пример вывода с шаблоном по умолчанию {item} {form}:

Declension::set("руб", ["рубль", "рубля", "рублей"]);

$var = Declension::format(number: "-10", key: "руб"); # Вывод: `-10 рублей`
$var = Declension::format(number: 0, key: "руб"); # Вывод: `0 рублей`
$var = Declension::format(number: "1.99", key: "руб"); # Вывод: `1 рубль`
$var = Declension::format(number: 2, key: "руб"); # Вывод: `2 рубля`
$var = Declension::format(number: 5, key: "руб"); # Вывод: `5 рублей`

Пример вывода с пользовательским шаблоном:

$currency = "грн";
$mask = "На вашому рахунку: {item} {form}";
Declension::set($currency, ["гривня", "гривні", "гривень"]);

$var = Declension::format(number: -11.29, key: $currency, template: $mask); # Вывод: `На вашому рахунку: -12 гривень`
$var = Declension::format(number: 0, key: $currency, template: $mask); # Вывод: `На вашому рахунку: 0 гривень`
$var = Declension::format(number: 1, key: $currency, template: $mask); # Вывод: `На вашому рахунку: 1 гривня`
$var = Declension::format(number: "2.99", key: $currency, template: $mask); # Вывод: `На вашому рахунку: 2 гривні`
$var = Declension::format(number: 10.01, key: $currency, template: $mask); # Вывод: `На вашому рахунку: 10 гривень`

统计信息

  • 总下载量: 246
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-05-24