Skip to content

Comparison

github-actions[bot] edited this page Jul 15, 2026 · 1 revision

Сравнение с аналогами

Сравнение CloudCastle Inflector с аналогами. Таблица возможностей генерируется из tools/features-data.php (composer docs:features), числовые бенчмарки — из composer compare (composer docs:comparison).

Заглушка для дальнейшей разработки: наполните tools/features-data.php реальными возможностями и аналогами, а benchmark_collect() — реальными операциями пакета.

Возможности

Сгенерировано из tools/features-data.php (факты о поддержке). Легенда: ✅ полностью · ⚠️ частично · 🔌 адаптер · ❌ нет · — неприменимо.

Языки

Функция Inflector doctrine symfony morphos intl 🏆 Победитель
Английский ⚠️ Паритет
Русский Inflector, morphos
Немецкий Inflector
Французский Inflector, symfony
Испанский Inflector
Авто-определение языка Inflector

Число существительных

Функция Inflector doctrine symfony morphos intl 🏆 Победитель
pluralize / singularize Паритет
Счётная форма (1 товар / 2 товара / 5 товаров) Inflector, morphos
Нерегулярные и неисчисляемые слова ⚠️ Паритет

Склонение и спряжение

Функция Inflector doctrine symfony morphos intl 🏆 Победитель
6 русских падежей (ед. и мн. число) Inflector, morphos
Немецкие падежи (Genitiv, Dativ Pl.) Inflector
Спряжение глаголов (3 времени × лица × числа) ⚠️ Inflector
Спряжение на 5 языках Inflector

Транслитерация

Функция Inflector doctrine symfony morphos intl 🏆 Победитель
Кириллица → латиница ⚠️ Паритет
Латиница → кириллица Inflector, intl
Автонаправление по алфавиту Inflector
Без расширений PHP (zero-dependency) ⚠️ Inflector, doctrine, morphos

Форматы имён (ORM/API)

Функция Inflector doctrine symfony morphos intl 🏆 Победитель
camelize / pascalize / underscore 🔌 Inflector, doctrine
tableize / classify Inflector, doctrine
Слаги с транслитерацией кириллицы ⚠️ 🔌 Inflector
Порядковые числительные по языкам ⚠️ 🔌 Inflector

Расширяемость

Функция Inflector doctrine symfony morphos intl 🏆 Победитель
Пользовательские нерегулярные пары ⚠️ Inflector
Пользовательские regex-правила ⚠️ Inflector
Единый интерфейс правил для новых языков ⚠️ ⚠️ Inflector

Производительность и нагрузка

Функция Inflector doctrine symfony morphos intl 🏆 Победитель
Ограниченный кэш (нет утечки на уникальном вводе) Inflector
O(1) на повторяющемся вводе Inflector, doctrine
Стабильная память при 100k+ уникальных слов Inflector, symfony, morphos

Безопасность и качество

Функция Inflector doctrine symfony morphos intl 🏆 Победитель
Fail-safe: неизвестный ввод не бросает исключений ⚠️ ⚠️ Паритет
Ввод — данные, не код (без eval/интерполяции) Паритет
Мутационное тестирование MSI 100% Inflector
Fuzzing-инфраструктура (ClusterFuzzLite) Inflector

Производительность

Сгенерировано из composer compare (PHP 8.1.34). Правки в блоке будут перезаписаны.

Сценарий cloudcastle/inflector doctrine/inflector symfony/string wapmorgan/morphos ext-intl (ICU)
EN плюрализация (category → categories) 14958288 ops/s 12127523 ops/s 313425 ops/s
RU плюрализация (стол → столы) 15445789 ops/s 90813 ops/s
RU родительный падеж (стол → стола) 1099396 ops/s 92191 ops/s
RU счётная форма (5 → товаров) 875702 ops/s 83637 ops/s
FR плюрализация (journal → journaux) 14868146 ops/s 839062 ops/s
Имя таблицы (FooBar → foo_bars) 14926349 ops/s 2715111 ops/s
Имя класса (foo_bars → FooBar) 15152832 ops/s 5347831 ops/s
Транслитерация RU → латиница 2318063 ops/s 8571 ops/s
Определение языка (кириллица) 5467384 ops/s

Clone this wiki locally