1. 템플릿 엔진이란?
템플릿 엔진(여기서는 구체적으로 웹 개발에 사용되는 템플릿 엔진을 말합니다)은 비즈니스 데이터(콘텐츠)와 사용자 인터페이스를 분리하기 위해 만들어집니다. 형식 문서를 사용하면 웹 사이트에 사용되는 템플릿 엔진이 표준 HTML 문서를 생성합니다. 템플릿 엔진은 특정 기술 분야에 속하지 않으며 크로스 도메인, 크로스 플랫폼 개념입니다. Asp 아래에도 템플릿 엔진이 있고, PHP 아래에도 템플릿 엔진이 있으며, C# 아래에도 템플릿 엔진이 있습니다. JavaScript나 WinForm 개발에서도 템플릿 엔진 기술을 사용합니다. 템플릿 엔진의 템플릿은 일반 텍스트 파일이며 특별한 확장자가 필요하지 않습니다. .html .htm .twig를 사용할 수 있습니다. 템플릿 내의 변수와 표현식은 런타임에 구문 분석되고 대체되며 태그는 템플릿의 논리를 제어합니다.
2, smarty 템플릿 엔진
Smarty는 PHP 템플릿 엔진입니다. 보다 정확하게는 로직 프로그램을 외부 콘텐츠와 분리하여 관리하기 쉬운 접근 방식을 제공합니다. 애플리케이션 프로그래머
라고 할 수 있고 아티스트는 서로 다른 역할을 맡습니다. 대부분의 경우 동일인이 될 수 없기 때문입니다. 예를 들어, 뉴스 검색용 웹 페이지를 생성하는 경우 뉴스 제목, 태그
열, 작성자 및 콘텐츠는 모두 콘텐츠 요소이며 표시 방법은 포함되지 않습니다. Smarty 프로그램에서는 이러한 사항이 무시됩니다. 템플릿 디자이너는 템플릿을 편집하고
html 태그와 템플릿 태그의 조합을 사용하여 이러한 요소(html 테이블, 배경색, 글꼴 크기, 스타일 시트 등)의 출력 형식을 지정합니다. 어느 날 프로그래머는 기사 검색 방식을 변경하고 싶었습니다(또한
는 프로그램 논리의 변경입니다). 이 변경 사항은 템플릿 디자이너에게 영향을 미치지 않으며 콘텐츠는 여전히 템플릿에 정확하게 출력됩니다. 마찬가지로 어느 날 아티스트가 너무 많은 것을 얻어 인터페이스를 완전히 다시 실행하고 싶어도 프로그램 로직에는 영향을 미치지 않습니다. 따라서 프로그래머는 템플릿을 다시 작성하지 않고도 논리를 변경할 수 있으며, 템플릿 디자이너는 논리에 영향을 주지 않고 템플릿을 변경할 수 있습니다. smarty는 논리를 결합하려고 하지 않습니다
템플릿과 완전히 분리됩니다. 논리 프로그램이 페이지 표시에만 사용된다면 템플릿에 문제가 발생하지 않습니다. 제안 사항은 다음과 같습니다. 템플릿에서 애플리케이션 로직을 멀리하고, 애플리케이션 로직에서 페이지 프레젠테이션
로직을 멀리하세요. 이렇게 하면 향후 콘텐츠를 더 쉽게 관리하고 프로그램을 더 쉽게 업그레이드할 수 있습니다.
3, smaty 엔진의 기능
템플릿 편집. 오버헤드를 줄이기 위해 Smarty는 기본적으로 템플릿을 유사한 PHP 스크립트로 변환하여 후속 호출을 더 빠르게 만듭니다. Smarty는 또한 매우 똑똑하며 콘텐츠가 변경된 후에 다시 컴파일할 수 있습니다.
캐싱. Smarty는 캐싱 템플릿의 선택적 기능도 제공합니다. 캐싱과 컴파일의 차이점은 캐싱을 지원하면 캐시된 콘텐츠가 생성될 뿐만 아니라 개별 논리의 실행도 방지된다는 것입니다. 예를 들어 템플릿과 관련된 데이터베이스 쿼리를 무시할 수 있는 캐시된 문서 수명(예: 5분)을 지정할 수 있습니다.
구성 및 확장성이 뛰어납니다. Smarty의 객체 지향 아키텍처를 사용하면 기본 동작을 수정하고 확장할 수 있습니다. 또한 구성 가능성은 처음부터 설계 목표였으며 사용자에게 내장된 메서드와 속성을 통해 Smarty의 동작을 사용자 정의할 수 있는 뛰어난 유연성을 제공했습니다.
안전. Smarty는 설계자의 의도적이거나 의도하지 않은 파괴로부터 서버 및 애플리케이션 데이터를 보호하기 위한 다양한 보안 기능을 제공합니다.