Home >PHP Framework >ThinkPHP >Using twig in thinkphp6

Using twig in thinkphp6

Guanhui
GuanhuiOriginal
2020-05-09 10:23:002934browse

Twig introduction

Twig is a flexible, fast and safe PHP template engine.

Fast: Twig compiles templates into pure, optimized PHP code. Its overhead has been reduced to extremely low compared with conventional PHP code.

Security: Twig has a sandbox mode for evaluating untrusted template code. This allows Twig to be used in applications that allow users to modify the template design themselves.

Use Twig in thinkphp6

The first step is to introduce the ThinkPHP extension think-twig

composer require yunwuxin/think-twig

The second step is to change the type in template.php under config Just use it for Twig

Twig specifications

When writing Twig templates, we recommend using the following official coding specifications:

In the initial setting Add a space after the delimiter ({{, {%, and {#)), and add a space before the trailing delimiter (}}, %}, and #}):

  {{ foo }}
    {# comment #}
    {% if foo %}{% endif %}

In use When using a whitespace control character, do not add any space between it and the delimiter:

{{- foo -}}
{#- comment -#}
{%- if foo -%}{%- endif -%}

Add a space before and after the following operators: comparison operators (==, !=, 95ec6993dc754240360e28e0de8de30a, >=, <=), mathematical operators ( , -, /, *, %, //, **), logical operators (not, and, or), ~, is, in, and ternary operations Symbol (?:):

 {{ 1 + 2 }}
     {{ foo ~ bar }}
     {{ true ? true : false }}

In hashes, add a space after:, in hashes and arrays, also add a space after:

 {{ [1, 2, 3] }}
     {{ {&#39;foo&#39;: &#39;bar&#39;} }}

Do not use parentheses in expressions Add spaces before and after:

{{ 1 + (2 * 3) }}

Do not add spaces before and after the string delimiter:

{{ &#39;foo&#39; }}
    {{ "foo" }}

Do not add spaces before and after the following operators: |,., .., []:

{{ foo|upper|lower }}
    {{ user.name }}
    {{ user[name] }}
    {% for i in 1..12 %}{% endfor %}

Do not add spaces before and after parentheses in filters and function calls:

   {{ foo|default(&#39;foo&#39;) }}
     {{ range(1..10) }}

Do not add spaces at the beginning and end of arrays and hashes:

 {{ [1, 2, 3] }}
     {{ {&#39;foo&#39;: &#39;bar&#39;} }}

Variable names must contain lowercase letters and underscores:

 {% set foo = &#39;foo&#39; %}
     {% set foo_bar = &#39;foo&#39; %}

Indent code within tags (using the same indentation as the target language for template rendering)

 {% block foo %}
        {% if true %}
            true
        {% endif %}
     {% endblock %}



The above is the detailed content of Using twig in thinkphp6. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn