>백엔드 개발 >PHP 문제 >php 나뭇가지가 무슨 뜻인가요?

php 나뭇가지가 무슨 뜻인가요?

藏色散人
藏色散人원래의
2020-06-30 11:18:553765검색

php twig는 유연하고 빠르며 안전한 PHP 템플릿 엔진입니다. Twig에는 신뢰할 수 없는 템플릿 코드를 평가하기 위한 샌드박스 모드가 있습니다.

php 나뭇가지가 무슨 뜻인가요?

php twig

Twig는 유연하고 빠르며 안전한 PHP 템플릿 엔진입니다.

빠름: Twig는 템플릿을 순수하고 최적화된 PHP 코드로 컴파일합니다. 기존 PHP 코드에 비해 오버헤드가 극도로 낮아졌습니다.

보안: Twig에는 신뢰할 수 없는 템플릿 코드를 평가하기 위한 샌드박스 모드가 있습니다. 이를 통해 사용자가 템플릿 디자인을 직접 수정할 수 있는 응용 프로그램에서 Twig를 사용할 수 있습니다.

유연함: Twig는 유연한 어휘 분석기와 파서로 구동됩니다. 이를 통해 개발자는 태그와 필터를 사용자 정의하고 자신만의 DSL을 만들 수 있습니다.

이 템플릿 엔진은 왜 있는 걸까요?

PHP에 템플릿 엔진을 도입하면 많은 사람들이 PHP 자체가 템플릿 엔진이라고 말할 것입니다. PHP는 원래 템플릿 언어로 사용되었지만 최근에는 템플릿 엔진처럼 발전하지 않았습니다. 실제로 최신 템플릿 엔진의 많은 기능을 지원하지 않습니다.

간결함: PHP 언어는 출력 이스케이프와 관련하여 엄청나게 장황합니다.

<?php echo $var ?>
<?php echo htmlspecialchars($var, ENT_QUOTES, &#39;UTF-8&#39;) ?>

반대로 Twig는 템플릿을 더 읽기 쉽게 만드는 매우 간결한 구문을 가지고 있습니다.

{{ var }}
{{ var|escape }}
{{ var|e }}         {# shortcut to escape a variable #}

템플릿 지향 구문: Twig는 빈 배열을 순회할 때와 같은 일반적인 패턴에 대한 단축키를 제공합니다. 기본 텍스트 표시:

{% for user in users %}
    * {{ user.name }}
{% else %}
    No users have been found.
{% endfor %}

완전한 기능: Twig는 강력한 템플릿을 쉽게 구축하는 데 필요한 모든 것을 제공합니다: 다중 상속, 블록, 자동화된 출력 이스케이프 및 기타 여러 기능:

{% extends "layout.html" %}
{% block content %}
    页面内容...
{% endblock %}

배우기 쉬움: Twig의 구문은 배우기 매우 쉽습니다. 심지어 웹 디자이너도 완료할 수 있습니다. 아무런 방해 없이 빠르게 작업할 수 있습니다.

물론 PHP는 많은 템플릿 엔진 프로젝트에서 사용되는 언어이기도 합니다. 그러나 대부분은 여전히 ​​PHP 4를 사용하여 개발되었으며 최고의 웹 개발 방식을 지원하지 않습니다.

확장성: Twig는 가장 복잡한 상황에서도 사용자의 요구를 충족할 만큼 유연합니다. 개방형 아키텍처 덕분에 고유한 언어 구성(태그, 필터, 함수, 연산자 등)을 구현하여 고유한 DSL을 만들 수 있습니다.

단위 테스트됨: Twig는 완전한 단위 테스트를 거쳤으며 안정적이며 대규모 프로젝트에서 사용할 수 있습니다.

문서: Twig에는 완전한 문서는 물론 전용 온라인 매뉴얼과 물론 완전한 API 문서도 있습니다.

보안: 보안에 관해 말하자면 Twig에는 몇 가지 고유한 기능이 있습니다.

자동 출력 이스케이프: 보안상의 이유로 전역적으로 또는 특정 블록에 대해서만 자동 출력 이스케이프를 활성화할 수 있습니다.

{% autoescape true %}
    {{ var }}
    {{ var|raw }}     {# var won&#39;t be escaped #}
    {{ var|escape }}  {# var won&#39;t be doubled-escaped #}
{% endautoescape %}

샌드박스: Twig 모든 템플릿을 평가할 수 있습니다. 샌드박스 환경에서 사용자에게 제한된 태그, 필터 및 개발자 정의 객체 메소드 세트에 대한 액세스를 제공합니다. 샌드박싱은 특정 템플릿에 대해 전체적으로 또는 개별적으로 활성화할 수 있습니다.

{{ include(&#39;page.html&#39;, sandboxed = true) }}

오류 메시지 지우기: 템플릿에서 구문 오류가 발생할 때마다 Twig는 파일 이름과 오류 줄 번호가 포함된 도움말 메시지를 출력합니다. 디버깅에 매우 도움이 됩니다.

빠름: Twig의 목표 중 하나는 최대한 빠른 것입니다. 가능한 최고의 속도를 달성하기 위해 Twig는 템플릿을 극도로 최적화된 PHP 코드로 컴파일합니다. 기존 PHP 코드에 비해 오버헤드가 극도로 낮아졌습니다.

더 많은 관련 지식을 알고 싶으시다면 PHP 중국어 홈페이지를 방문해주세요!

위 내용은 php 나뭇가지가 무슨 뜻인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

관련 기사

더보기