cf-git/twig-once

Twig 模板标签 {% once [name] %}{% endonce %}

1.0.7 2023-12-16 12:39 UTC

This package is auto-updated.

Last update: 2024-09-16 14:34:27 UTC


README

Twig 模板库的微扩展。在需要限制代码某些部分时可以使用。

需要 twig/twig.

如何使用。

1. 使用 composer 安装此扩展

composer require cf-git/twig-once

2. 在你的 PHP 项目中包含自动加载文件(如果尚未包含);

include_once('vendor/autoload.php');

3. 将令牌解析器添加到 Twig\Environment

$twig = new \Twig\Environment($loader, $config);
$twig->addExtension(new \CFGit\TwigEngine\Extensions\Once\OnceExtension())

或者像这样

$twig = new \Twig\Environment($loader, $config);
$twig->addTokenParser(new \CFGit\TwigEngine\Extensions\Once\OnceTokenParser());

4. 然后,使用 twig 文档!

然后使用它。

如果你做得正确。你会得到一些像这样。

{{-- Main content --}}

{% for i in range(0, 5) %}
    <div>{{ i }}</div>
    {% once hello %}
    <script>console.log("[{{ i }}]Hello world!")</script>
    {% endonce %}
{% endfor %}

输出

<div>0</div>
<script>console.log("[0] Hello world!")</script>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>

与包含的文件相同

{{-- Main content --}}

{% for i in range(0,5) %}
  {% include "x.twig" with({(i): i}) %}
{% endfor %}
{{-- x.twig content --}}
<!-- {{ i }} -->
{% once %}
    <!-- [{{ i }}] Hello world! -->
{% endonce %}

输出

<!-- 0 -->
<!-- [0] Hello world! -->
<!-- 1 -->
<!-- 2 -->
<!-- 3 -->
<!-- 4 -->
<!-- 5 -->