Twig : 인기있는 PHP 템플릿 엔진 Twig는 PHP 코드를 단순화하고 보안 및 디버깅과 같은 기능을 추가합니다. Twig는 프로젝트의 Frontend 및 백엔드에서 모두 역할을하며 두 가지 관점에서 볼 수 있습니다 : Template Designers의 Twig와 개발자를위한 Twig. Twig는 라는 코어 객체를 사용하여 파일 시스템이나 다른 곳에서 구성, 확장 및로드 템플릿을 저장합니다. Twig는 중첩 된 템플릿 (블록)을 지원하여 템플릿에서 요소의 복제를 피하고 후속 요청 속도를 높이기 위해 템플릿을 컴파일 할 수 있습니다. Twig는 템플릿에 정보 표시를 제어하기 위해 조건부 문, 루프 및 필터를 지원하고 템플릿 변수에 대한 모든 정보를 덤프 할 수있는 디버깅 기능을 제공합니다.
이 기사는 Wern Ancheta가 동료 검토했습니다. Sitepoint 콘텐츠를 최대한 활용 한 Sitepoint의 모든 동료 검토 자에게 감사합니다!
Environment
또는 PHP는 HTML 컨텐츠를 출력 할 때 증폭되는 장황한 언어입니다. 최신 템플릿 시스템은 부분적 인 동증을 제거하고 상당히 많은 기능을 추가합니다. 보안 및 디버깅 기능과 같은 기능은 최신 템플릿 엔진의 중추입니다. 오늘은 Twig에 중점을 둘 것입니다.
설치
<code class="language-php"><?php echo "<p> Hello " . $name . "</p>"; ?></code>
<code class="language-twig"><p>Hello {{ name }}</p></code>우리는 당신이 PHP를 설정하고 작곡가가 전 세계적으로 설치되는 환경을 운영하고 있다고 가정합니다. 가장 좋은 방법은 홈스테드 개선을 사용하는 것입니다.이를 통해 우리가 사용하는 것과 동일한 컴퓨터에서 5 분 안에 사용할 수 있으므로 같은 페이지에있을 수 있습니다. PHP 환경에 대해 더 많이 배우려면 여기에 구매할 수있는 훌륭한 유료 책이 있습니다.
기본 사용량
는 표현식 또는 작동 결과를 인쇄하는 데 사용되는 반면
블록을 구현할 수 있으며, 해당 위치에 표시됩니다. 이렇게하면 레이아웃을 다시 쓰지 않고 여러 번 재사용 할 수 있습니다. 이 경우 파일은 이제 다음과 같습니다.
캐시 객체는 템플릿을로드하는 데만 사용될 수 없습니다. 관련 디렉토리 옵션을 사용하여 통과하면 Twig는 컴파일 된 템플릿을 캐시하여 후속 요청에서 템플릿을 구문 분석하지 않습니다. 컴파일 된 템플릿은 우리가 제공하는 디렉토리에 저장됩니다. 이것은 평가 된 템플릿의 캐시가 아니라 컴파일 된 템플릿의 캐시입니다. 이는 Twig가 템플릿 파일을 구문 분석, 컴파일 및 저장 함을 의미합니다. 모든 후속 요청에는 여전히 평가 템플릿이 필요하지만 첫 번째 단계는 이미 수행되었습니다.
이 예에서는 Twig로 루프하는 방법을 보았습니다. 기본적으로 태그를 사용하고 지정된 배열의 각 요소에 별명을 할당합니다. 이 경우 별명을 배열에 할당합니다. 그런 다음 연산자를 사용하여 각 배열 요소의 모든 속성에 액세스 할 수 있습니다. 우리는 연산자를 사용하여 숫자 나 문자를 통해 반복 할 수도 있습니다. 아래에 표시된대로 :
또는 문자 :
이 연산자는 함수의 구문 설탕 일 뿐이며 기본 php 기능과 같은 방식으로 작동합니다. 똑같이 유용한 옵션은 루프에 조건을 추가하는 것입니다. 조건을 사용하여 요소를 반복하도록 필터링 할 수 있습니다. 우리가 250보다 적은 값으로 모든 제품을 반복하고 싶다고 가정 해 봅시다 :
필터는 SGML/XML 태그를 제거하고 인접한 공간을 공백으로 대체합니다.
및
마지막으로 디버깅을 살펴 보겠습니다. 때로는 템플릿 변수의 모든 정보에 액세스해야합니다. 이렇게하려면 Twig는
<code class="language-php"><?php echo "<p> Hello " . $name . "</p>"; ?></code>
index.php
al
<code class="language-twig"><p>Hello {{ name }}</p></code>
render()
는 조건부 문 및 루프와 같은 문을 실행하는 데 사용됩니다. 이 구분자들은 Twig의 주요 언어 구조로 Twig는 Themplate에게 Twig 요소를 렌더링 해야하는 템플릿에 "알리기"위해 사용합니다. /templates
index.html
(다음 내용은 원래 텍스트와 유사하지만 일부 진술 조정 및 단락 부서가 만들어졌으며 이미지 위치는 변경되지 않았습니다) <code class="language-bash">composer require twig/twig</code>
레이아웃 index.php
{{ ... }}
{% ... %}
Environment
파일을 편집하여 예제의 템플릿을 캐시합시다.
cache
bootstrap.php
(다음 내용은 원래 텍스트와 유사하지만 일부 진술 조정 및 단락 부서가 만들어졌으며 이미지 위치는 변경되지 않았습니다) <code class="language-php"><?php echo "<p> Hello " . $name . "</p>"; ?></code>
사이클 for
조건부 명세서 products
product
필터 .
endfor
필터를 사용하면 템플릿에 전달 된 정보와 표시된 정보 형식을 필터링 할 수 있습니다. 가장 일반적으로 사용되는 중요한 필터를 살펴 보겠습니다. Twig 필터의 전체 목록은 여기에서 찾을 수 있습니다. ..
<code class="language-twig"><p>Hello {{ name }}</p></code>
<code class="language-bash">composer require twig/twig</code>
range
모든 자리 표시자를 교체하여 주어진 문자열을 형식으로 지정하십시오. 예를 들면 : range
<code class="language-php"><?php
// 加载我们的自动加载器
require_once __DIR__.'/vendor/autoload.php';
// 指定我们的Twig模板位置
$loader = new Twig_Loader_Filesystem(__DIR__.'/templates');
// 实例化我们的Twig
$twig = new Twig_Environment($loader);</code>
<code class="language-php"><?php echo "<p> Hello " . $name . "</p>"; ?></code>
는 가장 중요한 필터 중 하나입니다. 최종 출력에 안전하게 삽입하도록 문자열을 필터링합니다. 기본적으로 HTML 탈출 정책을 사용합니다
escape
escape
, <code class="language-twig"><p>Hello {{ name }}</p></code>
, <code class="language-bash">composer require twig/twig</code>
디버그 js
기능이 있습니다. 이 기능은 기본적으로 사용할 수 없습니다. 나뭇 가지 환경을 만들 때 css
확장자를 추가해야합니다.
url
html_attr
dump()
위 내용은 TWIG- 가장 인기있는 독립형 PHP 템플릿 엔진의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!