aklump/twig-syntax

使用类似Twig的语法编写原生PHP模板

0.1 2016-10-11 21:42 UTC

This package is auto-updated.

Last update: 2024-09-20 07:16:04 UTC


README

概要

这是尝试在PHP中匹配Twig语法的尝试。

路线图

我预计随着我需要更多功能,这将会缓慢增长;我不是试图创建一个完整的解决方案,只是暂时填补空白。

示例 1

Twig

{% set classes = [
  'mi',
  'fa',
  'so',
]|merge(classes) %}

TwigSyntax

$twig = new TwigSyntax;
...
$twig->set(array(
    'mi',
    'fa',
    'so',
))->merge($classes);

结果是 $classes === ['mi', 'fa', 'so', 'do', 're']

纯PHP

它相当于

$classes = array_merge(
    array(
        'mi',
        'fa',
        'so',
    ),
    $classes
);

示例 2

确保 classes/$classes 存在

Twig

{% set classes = [
  'mi',
  'fa',
  'so',
]|merge(classes|default([])) %}

TwigSyntax

$twig = new TwigSyntax;
...
$classes = isset($classes) ? $classes : array();
$twig->set(array(
    'mi',
    'fa',
    'so',
))->merge($classes);