목차

pageinfo
status
Draft

<!DOCTYPE markdown>

Twig

개요

Twig는 PHP에서 사용하기 위한 모던 템플릿 엔진이며, Symfony 프로젝트에서 사용하기 위해 개발되었다. 여타의 템플릿 엔진과 비슷하게 간결함과 쉬운 난이도, 기능성, 속도 등에 초점을 두었다.

문법

Twig는 {% ... %}language 형식으로 기본적인 문법을 정의한다. 주석은 {# ... #}을 사용한다.

변수

Twig에서 모든 변수는 객체로 취급되며, 모든 객체는 그 속성을 갖는다.

{# 변수 출력 #}
{{ tech:객체명.속성 }} 

{# 변수 설정 #}
{% set a = 'a' %} 
{% set b = [1, 2] %}
{% set c = {'d': 'e'} %}

Twig는 다음 세 종류의 전역 변수를 갖는다.

필터

필터는 주어진 변수를 가공하는 역할을 하며, 파이프 기호 또는 apply 태그로 적용한다.

{# name에서 HTML 태그 제거 후 대문자화 #}
{{ tech:name|striptags|upper }} 

{% apply upper %}
    This text becomes uppercase
{% endapply %}

함수 / 컨트롤

{% for i in range(low=1, high=10, step=2) %}
    {{ i }},
{% endfor %}
{% if users|length > 0 %}
    <ul>
        {% for user in users %}
            <li>{{ user.username|e }}</li>
        {% endfor %}
    </ul>
{% endif %}

inclusion

include 함수를 사용해 다른 파일의 내용을 삽입할 수 있다.

{% for box in boxes %}
    {{ include('render_box.html') }}
{% endfor %}

Backlinks