germania-kg / twigextensions
Germania KG 为 Twig 模板引擎提供的扩展。
2.0.0
2019-11-25 11:15 UTC
Requires
- php: ^5.6|^7.0
- germania-kg/urlprefixer: ^1.0.2
- twig/twig: ^2.0|^3.0
Requires (Dev)
- php-coveralls/php-coveralls: ^2.0
- phpunit/phpunit: ^5.7|^6.0|^7.0|^8.0
README
Germania KG 为 Twig 模板引擎。 目前包含一个 Twig 扩展: WebAppTwigExtension
要求
• Twig 模板引擎 twig/twig 版本 2 或 3
内置功能
当添加到 Twig_Environment, 此 WebAppTwigExtension 带来以下内置助手
absolute_url
此测试检查一个值是否是绝对 URL,即以 //、http:// 或 https:// 开头
{% if my_value is absolute_url %}
add_base_url
此过滤器将基本 URL 预加到给定的值上,该值不以 //、http:// 或 https:// 开头
{{my_var|add_base_url( base_url )}}
安装
使用 Composer 从 Shell 中获取
$ composer require germania-kg/twigextensions
或者,直接将此包添加到您的 composer.json:
"require": {
"germania-kg/twigextensions": "^2.0"
}
使用方法
<?php
use Germania\TwigExtensions\WebAppTwigExtension;
# Instantiate
$gte = new WebAppTwigExtension();
# Add to Twig Environment
$twig = new Twig_Environment( ... );
$twig->addExtension( $gte );
配置
测试、过滤器和全局变量通常应添加到 Twig_Environment 实例中。在某些情况下,您可能更喜欢在实例化此扩展的位置附近定义您的助手。在这种情况下,可选地提供自定义过滤器、全局变量和测试。
<?php
use Germania\TwigExtensions\WebAppTwigExtension;
$gte = new WebAppTwigExtension([
'globals' => [
'base_url' => 'http://test.com'
],
'filters' => [
new Twig_SimpleFilter('my_filter', function() { ...} )
],
'tests' => [
new Twig_SimpleTest('my_test', function() { ... } )
]
]);
流畅接口 API
过滤器、全局变量和测试可以在实例化后立即添加。设置方法返回实例
<?php
use Germania\TwigExtensions\WebAppTwigExtension;
$gte = new WebAppTwigExtension();
$filter = new Twig_SimpleFilter('my_filter', function() { ...} );
$test = new Twig_SimpleTest( ... );
$gte->addGlobal( 'foo', 'bar')
->addFilter( $filter );
->addTest( $test );
开发
$ git clone git@bitbucket.org:germania/twigextensions.git
$ cd twigextensions
$ composer install
单元测试
要么将 phpunit.xml.dist
复制到 phpunit.xml
并根据您的需求进行修改,要么保持原样。像这样运行 PhpUnit
$ vendor/bin/phpunit