https://github.com/wapmorgan/morphos-blade
Morphos adapter for Blade
https://github.com/wapmorgan/morphos-blade
blade blade-directives morphology
Last synced: about 1 year 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 9 years ago)
- Default Branch: master
- Last Pushed: 2018-10-30T15:32:16.000Z (over 7 years ago)
- Last Synced: 2025-02-27T11:47:32.124Z (over 1 year 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
)
```