https://github.com/wapmorgan/morphos-blade
Morphos adapter for Blade
https://github.com/wapmorgan/morphos-blade
blade blade-directives morphology
Last synced: about 2 months ago
JSON representation
Morphos adapter for Blade
- Host: GitHub
- URL: https://github.com/wapmorgan/morphos-blade
- Owner: wapmorgan
- Created: 2017-02-02T21:17:36.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-10-30T15:32:16.000Z (over 6 years ago)
- Last Synced: 2025-02-27T11:47:32.124Z (2 months ago)
- Topics: blade, blade-directives, morphology
- Language: PHP
- Size: 25.4 KB
- Stars: 34
- Watchers: 4
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README-ru.md
Awesome Lists containing this project
README
# MorphosBlade
[In English see README](README.md).
[](https://packagist.org/packages/wapmorgan/morphos-blade)
[](https://packagist.org/packages/wapmorgan/morphos-blade)
[](https://packagist.org/packages/wapmorgan/morphos-blade)Добавляет в шаблонизатор Laravel blade-директивы для русского языка: @plural, @name, @numeral, @ordinal и @money.
Они позволяют правильно использовать флексию (изменяемую часть слова) - например сколнять числительные
и существительные в зависимости от падежа, рода (мужской/женский/средний), единственного или множественного числа.```blade
@plural(252, 'новость') от @name('Иванов Иван Иванович', 'родительный')
@numeral(565, 'сообщение', 'n') и @money(123.50, '₽') за Ваше отсутствие.
Это Ваше @ordinal(351, 'n') посещение нашего сайта за сегодня!
```Результат компиляции шаблона:
```html
252 новости от Иванова Ивана Ивановича
пятьсот шестьдесят пять сообщений и 123 рубля 50 копеек за Ваше отсутствие
Это Ваше триста пятьдесят первое посещение нашего сайта за сегодня!
```Часто используемые директивы:
- **@plural(count, noun)** - Получить множественную форму слова. Аргументы - количество объектов (count) и существительное (nount).
```blade
@plural(244, 'элемент')
```- **@money(value, currency)** - Денежная сумма прописью. Аргументы - сумма (value) и валюта (currency) (₽ or $ or € or ₴ or £).
```blade
@money(1000.10, '$')
```- **@numeral(number)** - Числительное прописью. Аргумент - количество объектов (number) которое надо преобразовать в текст.
```blade
@numeral(344)
```- **@ordinal(number)** - Порядковый номер прописью. Аргумент - порядковый номер (number) который надо преобразовать в текст.
```blade
@ordinal(500)
```- **@name(name, case)** - Вывести имя в нужном падеже с автоматическим определением рода (мужской/женский). Аргументы - имя (name) и падеж (case): именительный, родительный, дательный, винительный, творительный, предложный
```blade
@name('Коленко Сергей Аркадьевич', 'дательный')
```Дополнительные директивы:
- **@name(name, gender, case)** - Вывести имя в нужном падеже с возможностью вручную указать род (мужской/женский/средний). Аргументы - имя (name), род (gender: `f`, `m` или null), падеж (case): именительный, родительный, дательный, винительный, творительный, предложный
```blade
@name('Филимонов Игорь', 'm', 'дательный')
```- **@numeral(number, gender)** - Числительное прописью. Аргументы - количество (number) и род (gender: `m`, `f` или `n`). Указывайте род (gender) для корректного для правильного преобразования склоняемых числительных (один/одно/одна, два/две).
```blade
@numeral(121, 'n')
```- **@numeral(number, noun)** - Количество объектов прописью во множественном числе. Аргументы - количество объектов (number) и связанное существительное в единственном числе (noun: количество чего именно мы выводим). Эта директива-сокращение для конструкции `@numeral(3) @plural(3, 'поле')`
```blade
@numeral(3, 'поле')
```- **@numeral(number, noun, gender)** - Количество объектов прописью во множественном числе с указанием рода. Аргументы - количество объектов (number), связанное существительное в единственном числе (noun: количество чего именно мы выводим) и род (gender: `m`, `f` или `n`). Указывайте род (gender) для корректного для правильного преобразования склоняемых числительных (один/одно/одна, два/две).
```blade
@numeral(101, 'сообщение', 'n')
```- **@ordinal(number, gender)** - Порядковый номер в нужном роде (мужской/женский/средний). Аргументы - порядковый номер (number) и род (gender: `m`, `f` или `n`). Указывайте род (gender) для корректного для правильного преобразования склоняемых порядковых номеров (первый/первое/первая, второй/второе/вторая, etc).
```blade
@ordinal(351, 'n')
```## Установка
### Установка пакета
```
composer require wapmorgan/morphos-blade
```### Регистрация сервис-провайдера
Откройте `app.php` в папке `config` и добавьте строку в массив `providers` как в этом примере:```php
'providers' => array(
...
morphos\MorphosBladeProvider::class
)
```