Twig(템플릿 엔진)
Twig (template engine)원저작자 | 아르민 로나허,[1] 파비앙 포텐시에 |
---|---|
개발자 | Symfony SAS |
초기 릴리즈 | 2009년 10월 12일( |
안정된 릴리스 | 3.3.2[2] / 2021년 5월 16일; 전 ( |
저장소 | |
기입처 | PHP |
운영 체제 | 크로스 플랫폼 |
유형 | 템플릿 엔진 |
면허증. | BSD 라이선스 |
웹 사이트 | twig |
Twig는 PHP 프로그래밍 언어를 위한 템플릿 엔진입니다.그 구문은 진자와 장고 [3]템플릿에서 유래한다.BSD 라이선스로 라이선스를 취득하여 Fabien Potensier가 관리하는 오픈 소스[4] 제품입니다.초기 버전은 Armin Ronacher에 의해 만들어졌다.Symfony PHP 프레임워크는 버전 [5]2 이후 기본 템플릿 엔진으로 Twig를 번들로 지원합니다.
특징들
Twig는 다음과 같은 통합 개발 [3]환경에서 지원됩니다.
- Twig 플러그인을 통한 이클립스
- Twig 하이라이트/구문 체크모드로 Komodo 및 Komodo 편집
- Twig 구문 플러그인을 통한 NetBeans (7.1 이전, 7.2 이후 네이티브)
- PhpStorm (2.1 기준 네이티브)
텍스트 편집자:
- PHP-twig를 통한 Atom for atom
- Web-mode.el 경유 Emacs
- 메모장++++ Twig 형광펜을 통한 메모장++
- Twig 번들을 통한 Sublime Text
- Twig 번들을 통한 TextMate
- Jinja 구문 플러그인 또는 vim-twig 플러그인을 통해 VIM
- 브래킷 트위그를 통한 브래킷
- Twig 확장자를 통한 Visual Studio 코드
- Twig 언어 정의를 통한 GTK Source View
- Twig 구문 모드를 통한 코드
- 다른 Twig 구문 모드를 통한 Coda 2
- Twig 구문 모드를 통한 SubEthaEdit
구문
Twig는 다음 세 가지 종류의 딜리미터를 정의합니다.
{{ ... }}
변수의 내용 또는 식 평가 결과를 인쇄하려면(예: 상속된 Twig 템플릿,{{ parent() }}
).{# ... #}
템플릿에 코멘트를 추가합니다.이러한 설명은 렌더링된 페이지에 포함되지 않습니다.{% ... %}
for-discriptions 등의 명령어를 실행합니다.{% set foo = 'bar' %}
,[8] 할당한다.{% if i is defined and i == 1%} ... {% endif %}
: 조건.{% for i in 0..10 %} ... {% endfor %}
: 루프 내의 카운터.
아포스트로피(')는 이스케이프 문자입니다.
반복 배열을 작성하려면:
{% 세트 myArray = [1, 2] %}
연관 배열:
{% 세트 myArray = {키: '값'} %}
연산자 우선 순위
연산자의 우선순위는 낮은 우선순위에서 높은 우선순위로 바뀝니다.[3]
교환입니다. | 역할. |
---|---|
b-and | 비트 AND |
b-xor | 비트 단위 XOR |
b-or | 비트 단위 OR |
또는 | 또는 |
그리고. | 그리고. |
== | 동등합니까? |
!= | 다른가요? |
< > | 열등한 |
> | 우월한 |
>= | Supervior 또는 Equal |
<=> | 열등 또는 동등 |
에 | 안으로 |
일치하다 | 대응하다 |
로부터 시작하다 | 시작점 |
으로 끝나다 | 마감 시간 |
.. | 시퀀스(예:1..5 ) |
+ | 플러스 |
- | 더 적은 |
~ | 연결 |
* | 곱셈 |
/ | 나누기 |
// | 아래쪽으로 반올림한 분할 |
% | 모듈로 |
이 | 테스트(예:is defined 또는is not empty ) |
** | 힘 |
필터[6] | |
[] | 어레이 엔트리 |
. | 오브젝트의 속성 또는 메서드(예:country.name ) |
필터
필터는 표현식 뒤에 배치하면 파이프로 분리된 표현식에 대한 몇 가지 처리를 제공합니다.예를 [6]들어 다음과 같습니다.
capitalize
: 문자열의 첫 글자를 대문자로 변경합니다.upper
: 문자열 전체를 대문자로 변경합니다.first
: 배열의 첫 번째 행을 표시합니다.length
: 변수 크기를 반환합니다.
특수 변수
loop
에 현재 루프 정보를 나타냅니다.예를들면loop.index
는 이미 발생한 반복 횟수에 해당합니다.- 글로벌 변수는 밑줄로 시작합니다.예를 들어 다음과 같습니다.
- _route(도메인 뒤에 있는 URL 부분)
- _self(현재 파일 이름)
- 페이지 루트에 대해서:
{{ path(app.request.attributes.get('_route'), app.request.attributes.get('_route_params')) }}
- CGI 환경변수는 다음과 같습니다.
{{ app.request.server.get('SERVER_NAME') }}
.
예
아래 예시는 Twig의 몇 가지 기본적인 기능을 보여줍니다.
{% 확장 "base.module" %} {% 블록 내비게이션 %} < >울 아이디='내비게이션'> {% 위해서 아이템 에 내비게이션 %} < >리> < >a href="{{ item.href }}"> {% 한다면 항목.레벨 == 2 %} {% 엔디프 %} {{ item.displays(항목.태스크린) 위쪽의 }} </a> </리> {% 끝장 %} </울> {% 엔드 블록 내비게이션 %}
「 」를 참조해 주세요.
레퍼런스
- ^ "mitsuhiko/twig". August 13, 2019 – via GitHub.
- ^ "Release 3.3.2". 16 May 2021. Retrieved 22 May 2021.
- ^ a b c d "Twig for Template Designers - Documentation - Twig - The flexible, fast, and secure PHP template engine". twig.symfony.com.
- ^ "twigphp/Twig". July 1, 2020 – via GitHub.
- ^ "Symfony2 Documentation — Documentation". August 5, 2010. Archived from the original on 2010-08-05.
- ^ a b c "Filters - Documentation - Twig - The flexible, fast, and secure PHP template engine". twig.symfony.com.
- ^ "Extending Twig - Documentation - Twig - The flexible, fast, and secure PHP template engine". twig.symfony.com.
- ^ "set - Documentation - Twig - The flexible, fast, and secure PHP template engine". twig.symfony.com.
외부 링크
- Twig 공식 웹사이트
- PHP 템플릿 엔진, Fabien Potensier, 2009