larakit/laravel-larakit-twig

此包已被 废弃 并不再维护。未建议替代包。

Larakit 的 Twig 模块

dev-master 2015-08-08 17:31 UTC

This package is not auto-updated.

Last update: 2016-04-05 22:34:51 UTC


README

Total Downloads Latest Stable Version Latest Unstable Version License

Larakit 的 Twig 模块

功能

步骤 1

在 app/start/global.php 文件末尾添加调用

Larakit\Twig::apply(); 

步骤 2

创建包时,在 composer.json 中指定可自动加载的文件 init.php

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

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

步骤 3

在 "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 $prefix.'_'.$value;
});

在 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