germania-kg/twigextensions

Germania KG 为 Twig 模板引擎提供的扩展。

2.0.0 2019-11-25 11:15 UTC

This package is auto-updated.

Last update: 2024-09-25 22:08:29 UTC


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