PHPackages                             bubnov/twig-declension-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. bubnov/twig-declension-bundle

ActiveLibrary[Templating &amp; Views](/categories/templating)

bubnov/twig-declension-bundle
=============================

Symfony3 bundle for declension

3.0.7(9y ago)123[1 PRs](https://github.com/bubnov-mikhail/twig-declension-bundle/pulls)MITPHP

Since Sep 30Pushed 9y ago1 watchersCompare

[ Source](https://github.com/bubnov-mikhail/twig-declension-bundle)[ Packagist](https://packagist.org/packages/bubnov/twig-declension-bundle)[ RSS](/packages/bubnov-twig-declension-bundle/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (4)Dependencies (6)Versions (10)Used By (0)

twig-declension
===============

[](#twig-declension)

Фильтр для twig

- Позволяет управлять списком склоняемых слов и множественных форм
- Подключается как расширение к шаблонизатору twig
- Применяется к строке как фильтр в шаблоне
- Находит склоняемое слово в предварительно наполненной таблице и возвращает требуемую форму
- В случае отсутствия соответствующей записи в БД или при пустом склонении возвращает исходную строку или именительный падеж
- Использует standalone библиотеку phpMophy ()

1. Установка

---

```
Выполнить:
```sh
composer require bubnov/twig-declension-bundle: ~3.0
```

Добавить бандл в конфигурацию AppKernel
```php
// app/AppKernel.php
public function registerBundles()
{
    return array(
        // ...
        new Bubnov\TwigDeclensionBundle\BubnovTwigDeclensionBundle(),
        // ...
    );
}
```

Обновить базу данных
```sh
bin/console doctrine:schema:update
```

или

```sh
bin/console doctrine:migrations:diff
bin/console doctrine:migrations:migrate
```

Настроить routing.yml
```yml
# app/routing.yml
bubnov-twig-declension-bundle:
    resource: "@BubnovTwigDeclensionBundle/Resources/config/routing/routing.yml"
```

Тонкая настройка
```yml
# app/config.yml
bubnov_twig_declension:
    pre_cache: false #(true по умолчанию) - загрузка сразу всех слов в словаре одним запросом к БД при первом обращении
    auto_create: false #(true по умолчанию) - автоматическое создание форм слов, запрашиваемых в twig

```

2. Использование

---

```
Добавить ссылку в административной панели или меню
```twig
{# Ваш шаблон меню/панели #}
Слонения
```

** Внимание! В контроллере используется контроль доступа. Пользователь должен обладать ролью ROLE_ADMIN непосредственно, либо по иерархии ролей (см. security.role_hierarchy)

Создать необходимые записи в административном интерфейсе
В данном примере мы создали запись "яблоко" и заполнили все падежи и множественные формы

Склонение:
```twig
{# Ваш шаблон #}
Ньютон получил по голове {{ 'яблоко' | declension('abl') }}
{# Получится 'Ньютон получил по голове  яблоком' #}
```

Множественное число:
```twig
{# Ваш шаблон #}
В ящике лежат {{ 'яблоко' | declension('inf_multi') }}
{# Получится 'В ящике лежат яблоки' #}
```

Множественные формы:
```twig
{# Ваш шаблон #}
У меня в кармане 12 {{ 'яблоко' | declension('plural', 12) }}
{# Получится 'У меня в кармане 12 яблок' #}
```

```

3. Список ключей и падежей

---

```
* inf         - именительный падеж
* inf_multi   - именительный падеж множественного числа
* gen         - родительный падеж
* gen_multi   - родительный падеж множественного числа
* dat         - дательный падеж
* acc         - винительный падеж
* abl         - творительный падеж
* pre         - предложный падеж
* plural      - множественные формы

```

4. Автоматическое заполнение форм слова

---

```
На странице добавления/обновления записи можно настроить автоматическое заполнение форм слова.

Для генерации url к контроллеру используется FOS\JsRoutingBundle
Подключите его в app/AppKernel.php (скорее всего он там уже есть)
```php
// app/AppKernel.php
public function registerBundles()
{
    return array(
        // ...
        new FOS\JsRoutingBundle\FOSJsRoutingBundle(),
        // ...
    );
}
```

Подключите в html js-ассет 'bundles/fosjsrouting/js/router.js' и 'bundles/bubnovtwigdeclension/js/auto-declension.js'
```html

```

или

```html
{% javascripts
    ...
    'bundles/fosjsrouting/js/router.js'
    'bundles/bubnovtwigdeclension/js/auto-declension.js'
    ...
    output='compiled/compiled.js'
%}

{% endjavascripts %}
```

Установите ассеты из бандла
```sh
app/console assets:install
```

```

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity69

Established project with proven stability

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Total

9

Last Release

3519d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/cfc35f6ef7f8c1025f89bed8181c928aac39c2fb9884009f8b9dc44fc50c7020?d=identicon)[bubnov](/maintainers/bubnov)

---

Tags

declensionssymfony-bundletwigtwig-extensionsymfonybundletwigfilterSymfony Bundledeclension

### Embed Badge

![Health badge](/badges/bubnov-twig-declension-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/bubnov-twig-declension-bundle/health.svg)](https://phpackages.com/packages/bubnov-twig-declension-bundle)
```

###  Alternatives

[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9317.2k55](/packages/open-dxp-opendxp)[yellowskies/qr-code-bundle

Symfony Barcode &amp; QR Code Generator Bundle with Twig extension

36701.5k](/packages/yellowskies-qr-code-bundle)[mati365/ckeditor5-symfony

CKEditor 5 integration for Symfony

261.9k](/packages/mati365-ckeditor5-symfony)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
