larakit / lk-twig
[Larakit] Twig 模板引擎
dev-master
2018-04-27 12:58 UTC
Requires
- larakit/lk-boot: *
- rcrowe/twigbridge: 0.9.*
- twig/twig: >1.30
This package is auto-updated.
Last update: 2024-09-16 01:08:11 UTC
README
larakit-twig
Larakit 的 Twig 模块
## 功能 ## 第一步 在 composer.json 中指定自动加载的文件 init.php
{
"name": ".../...",
"description": "...",
"license": "MIT",
"require": {
...
},
"autoload": {
"files": [
"src/init.php"
]
}
}
## 第二步 在 "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