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 (==, !=, <, >, >=, <=), 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] }} {{ {'foo': 'bar'} }}
Do not use parentheses in expressions Add spaces before and after:
{{ 1 + (2 * 3) }}
Do not add spaces before and after the string delimiter:
{{ 'foo' }} {{ "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('foo') }} {{ range(1..10) }}
Do not add spaces at the beginning and end of arrays and hashes:
{{ [1, 2, 3] }} {{ {'foo': 'bar'} }}
Variable names must contain lowercase letters and underscores:
{% set foo = 'foo' %} {% set foo_bar = 'foo' %}
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!