larakit/lk-twig

[Larakit] Шаблонизатор Twig
1,514
Install
composer require larakit/lk-twig
License:MIT
Last Updated:Apr 27, 2018
Links: GitHub  ·  Packagist
Maintainer: larakit

Total Downloads Latest Stable Version Latest Unstable Version License

larakit-twig

Модуль Twig для Larakit

#Возможности ##Step 1 Создавая пакет указываем в composer.json автоподключаемый файл init.php

{
    "name": ".../...",
    "description": "...",
    "license": "MIT",
    "require": {
        ...
    },

    "autoload": {
        "files": [
			"src/init.php"
        ]
    }
}

##Step 2 В файле "src/init.php" регистрируем функции, фильтры и расширения

Добавление фильтров

Larakit\Twig::register_filter('int', 'intval');
Larakit\Twig::register_filter('filter_prefix', function($val){
   return 'prefix_'.$value;
});

Использование в шаблонах Twig

{% set var = '123a' %}
Приводим к целому: {{ var|int }}
Добавляем префикс: {{ var|filter_prefix('pref') }}

Результат:

Приводим к целому: 123
Добавляем префикс: pref_123

Добавление функций

Larakit\Twig::register_function('lower', 'mb_strtolower');
Larakit\Twig::register_function('function_prefix', function($val, $prefix='prefix'){
   return $prefix.'_'.$value;
});

Использование в шаблонах Twig

{% set var = 'AbCdEfG' %}
В нижнем регистре: {{ lower(var) }}
Добавляем префикс: {{ function_prefix(var, 'PRE') }}

Результат:

В нижнем регистре: abcdefg 
Добавляем префикс: PRE_AbCdEfG

Добавление тестов

Larakit\Twig::register_test('num', 'is_numeric');
Larakit\Twig::register_test('age_alcohol', function($val){
   return intval($val)>=18;
});

Использование в шаблонах Twig

{% set var = 38 %}
Значение {{ var }} является числом: {% if var is num %}YES{% else %}NO{% endif%}
Можно ли пить в {{ var }} лет: {% if var is age_alcohol %}YES{% else %}NO{% endif%}

Результат:

Значение 38 является числом: YES
Можно ли пить в 38 лет: YES

Related Packages

larakit/lk-page

[Larakit] Управление страницей

1,011 0
larakit/lk-validatebuilder

[Larakit] Validate Builder

859 0
larakit/ng-adminlte

[Larakit] AdminLTE, Angular based

905 0
larakit/lk-boot

[Larakit] Отложенная регистрация сервис-провайдеров и алиасов для Laravel

1,786 0
larakit/lk-event

[Larakit] Работа с событиями и слушателями на основе sfEvent

793 0