수색…


소개

기본 템플릿 구문 구문에 대한 설명

변수 액세스

Twig 템플릿에서 변수는 이중 중괄호 표기법 {{ variableName }} 사용하여 액세스 할 수 있습니다.

인사말 사용자의 기본 예

<!DOCTYPE html>
<html>
  <body>
    <span>Hello {{ name }}</span>
  </body>
</html>

배열 요소에 액세스하기

Twig는 매개 변수로 배열을받을 수 있습니다. 배열의 특정 요소에 액세스하려면 일반 PHP 배열 액세스 괄호 표기 {{ array[key] }} 있습니다.

array를 매개 변수로 사용하도록 수정 된 이전 예제

<!DOCTYPE html>
<html>
  <body>
    <span>Hello {{ user['name'] }}</span>
  </body>
</html>

객체 속성 액세스

또한 객체를 매개 변수로 템플릿에 전달할 수 있습니다. 'Dot'(.) 표기법은 특정 객체 속성 {{ object.propertyName }} 에 액세스하는 데 사용됩니다.

매개 변수로 object를 사용하는 동일한 예

<!DOCTYPE html>
<html>
  <body>
    <span>Hello {{ user.name }}</span>
  </body>
</html>

필터

변수는 필터를 사용하여 수정할 수 있습니다. 변수 필터 파이프와 변수 이름에 따라 적용하려면 | 및 필터 이름 :

{{ variable|filterName }}

예를 들어 변수 값을 대문자 사용 구문으로 표시하려면 다음을 입력하십시오.

{{ variable|upper }}

필터를 매개 변수화 할 수 있습니다. 필터 매개 변수는 괄호 안에 쉼표 (,)로 구분 된 목록으로 전달됩니다.

{{ variable|filterName(param1, param2, ...) }}

우리는 필터 round 사용할 수있는 주어진 정밀도로 숫자를 round 하기 위해 최대 2 개의 매개 변수를 허용합니다. 처음에는 정밀도 (기본값 : 0), 두 번째 반올림 메소드 (기본값 : 공통)가 지정됩니다.

공통 방법을 사용하여 소수점 이하 1 자리로 반올림하려면 {{ number|round(1, 'common') }} 또는 {{ number|round(1) }} 를 기본 방법으로 사용할 수 있습니다.

필터는 임베디드 객체 및 배열 변수에도 사용할 수 있습니다.

{{ array['key'] | upper }} {{ object.text | upper }}

필터를 연결할 수도 있습니다.

{% set array = "3,1,2"|split(',') %}

{{ array | sort | first }}

기본 필터 목록은 여기에서 볼 수 있습니다.

조건부 블록

템플릿의 일부는 조건부로 표시 할 수 있습니다. 이 목적으로 진술이 사용되는 If . 프로그래밍 언어에서 if 문과 비슷합니다. 표현식이 true 평가되면 블록의 내용이 실행 / 표시됩니다.

{% if enabled == false %}
    Disabled
{% endif %}

enabledfalse 일 때만 Disabled 가 표시됩니다.

elseifelse 사용하여 여러 분기를 만들 수 있습니다.

{% if temperature < 10 %}
    It's cold
{% elseif temperature < 18 %}
    It's chilly
{% elseif temperature < 24 %}
    It's warm
{% elseif temperature < 32 %}
    It's hot
{% else %}
    It's very hot
{% endif %}

For Loop

For 루프는 TWIG에서 유용 할 수있어 데이터 동적 웹 페이지를 만들 수 있습니다.

간단한 숫자 배열을 생성한다고 가정 해보십시오.

{% set array = "3,1,2" %}

그런 다음 배열을 반복하고 원하는대로 인쇄 할 수 있습니다. 배열 블록 내의 모든 데이터는 배열 내의 데이터 양과 관련하여 출력됩니다. 이 예제는 배열 데이터가 연결된 3 개의 h1 요소를 출력합니다.

{% for current in array %}
    <h1>This is number {{ current }} in the array </h1>
{% endear %}

{{ current }} 는 데이터에 액세스하는 데 사용되었으며 array 의 버전은 사용되지 않았습니다.

이 작업보기 : https://twigfiddle.com/mxwkea/2

이것의 또 다른 예는 객체를 사용하는 것일 수 있습니다. 예를 들어, 관련 getter 및 setter 와 함께 'name'필드가있는 Entity 객체가 있다고 가정합니다. 이러한 엔티티 중 다수가 배열 내에 저장되어 있으면 TWIG 내의 다른 객체와 마찬가지로 액세스 할 수 있습니다.

{% for currentObject in ArrayOfObjects %}
    {{ currentObject.name }}
{% endfor %}

JSON 데이터 작업 : https://twigfiddle.com/mxwkea를 참조하십시오.

삼항 연산자 (If-Then-Else의 약칭)와 Null-Coalescing 연산자

삼항 연산자 ( ?: :)

확장 된 삼항 연산자에 대한 지원은 Twig 1.12.0 에서 추가되었습니다.

{{ foo ? 'yes' : 'no' }}

평가 :

if foo echo yes else echo no


{{ foo ?: 'no' }}

또는

{{ foo ? foo : 'no' }}

평가 :

경우 foo , 다른 반향을 에코 no


{{ foo ? 'yes' }}

또는

{{ foo ? 'yes' : '' }}

평가 :

if foo echo yes else echo 아무것도하지 않는다.


null 통합 연산자 ( ??: :)

{{ foo ?? 'no' }}

평가 :

foo이 정의 되고 값이 아니라면 리턴하고 그렇지 않으면 no 리턴 합니다.

공백 처리

HTML 태그 사이의 공백 (공백, 탭, 줄 바꿈 ...)을 제거하려면 spaceless 태그를 사용하십시오.

{% spaceless %}

    <div>
        <span>foo bar </span>
    </div>
{% endspaceless %}
{# produces output <div><strong>foo bar </strong></div> #}

태그 레벨 당 공백을 제거해야하는 경우에는 공백 제어 수정 자 즉 하이픈 (-)을 사용하십시오. 그것을 사용하여 앞뒤 공백을 다듬을 수 있습니다 :

{% set value = 'foo bar' %}

<span>  {{- value }}  </span> 
{# produces '<span>foo bar  </span>' #}

<span>  {{ value -}}  </span> 
{# produces '<span>  foo bar</span>' #}

<span>  {{- value -}}  </span> 
{# produces '<span>foo bar</span>' #}

<span {%- if true  %} class="foo"{% endif %}>
{# produces '<span class="foo">' #}

<span {%- if false %} class="foo"{% endif %}>
{# produces '<span>' #}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow