웹 프로젝트 개발은 일반적으로 두 부분으로 나누어집니다. 한 부분은 HTML, CSS, JS를 사용하여 작성된 GUI, 즉 인터페이스와 아트이고 다른 부분은 PHP를 사용하여 작성된 비즈니스 로직, 즉 프로그램 및 함수입니다. . 템플릿 엔진은 두 부분을 연결하는 "브리지"로, PHP의 원본 출력을 인터페이스 스타일로 로드한 후 출력하는 여러 메서드를 정의하는 PHP 클래스로 이해될 수 있습니다.
<?php $title = “标题”; $content = “内容”; ?> <html> <head><title><?php echo $title; ?></title></head> <body><?php echo $content; ?></body> </html>
이렇게 하면 예술과 논리가 분리되지 않습니다. 간단히 말해서 PHP 프로그래머는 프로그램을 작성할 뿐만 아니라 예술에도 능숙해야 합니다. 그래서 이것은 종종 매우 어렵습니다. 이것은 결합되어야 합니다. 두 부분은 별도로 작동합니다.
템플릿 엔진의 원리를 더 잘 이해하기 위해 간단한 템플릿 엔진을 직접 예시로 만들어 보겠습니다.
앞서 언급했듯이 웹 프로젝트 개발은 GUI와 비즈니스 로직의 두 부분으로 나누어지므로 두 개의 폴더를 만듭니다. 하나는 템플릿을 저장하기 위한 "templates"라는 폴더이고, 새로운 tpl.html 파일을 생성하고, 다른 하나는 "PHP"라는 이름의 폴더입니다. " , 비즈니스 로직을 저장하고 새 index.php 파일을 생성합니다.
tpl.html 파일 코드는 일반적으로 다음과 같습니다.
<html> <head><title><{$title}></title></head> <body><{ $content;}></body> </html>
이전 코드와 비교하면 tpl.html에는 html 코드만 있고 php 코드는 없지만 새 태그가 추가된 것을 볼 수 있습니다. 정의된 경우, 내부 콘텐츠는 템플릿 엔진에 의해 컴파일된 후에만 인식될 수 있으며, 컴파일된 파일은 "templates_c" 폴더에 저장됩니다. 이 파일은 주로 인터페이스 디자인에 사용되며 수많은 CSS, JS 및 기타 기술을 사용합니다.
이때 tpl.html과 index.php는 여전히 분리되어 있고 서로 간섭하지 않으므로 "브리지" 연결, 즉 실제로 PHP 클래스인 템플릿 엔진이 필요하므로 다음을 수행할 수 있습니다. 여기에 mytpl.class.php PHP 파일을 만듭니다.
mytpl.class.php 파일은 일반적으로 MyTpl 클래스를 정의합니다. tpl.html에 사용자 정의 콘텐츠 태그의 매개변수를 저장하려면 배열 tpl_var[]을 정의해야 합니다. 이러한 메소드의 주요 목적은 tpl.hml의 인식할 수 없는 콘텐츠 태그를 PHP 문으로 변환한 다음 이를 "templates_c" 폴더 아래의 tpl_c.html에 작성하는 것입니다.
<html> <head><title><?php echo $this->tpl_var[“title”]; ?></head> <body><?php echo $this->tpl_var[“content”]; ?}></body> </html>
위의 코드는 사용자 정의 컨텐츠 태그가 PHP 문으로 대체되었기 때문에 인식이 가능한 것을 알 수 있는데, 그 값은 무엇입니까 제목 및 내용 이전에 생성된 index.php가 이번에 작동하게 될지는 아직 알 수 없습니다.
include “tpl.class.php文件”;//加载模板引擎 $tpl = new MyTpl();//实例化一个模板类 $title = “标题”; $content = “内容”; $tpl->assign(“title”,$title);//调用模板类中的方法,分配变量 $tpl->assign(“content”,$content); $tpl->display(“tpl.html”);//调用模板类中的方法,用于显示编译后的内容
위 코드는 간단한 설명 코드입니다. , 변수의 값은 직접 정의되거나 데이터베이스에서 얻을 수 있습니다. 또한 이 파일은 앞서 언급한 비즈니스 로직인 일부 복잡한 PHP 프로그램을 작성하는 데에도 사용할 수 있습니다.
이런 방식으로 GUI 작업과 비즈니스 로직이 분리됩니다. 아트 디자이너는 웹 인터페이스를 변경하기 위해 템플릿 파일만 작성하면 되고, PHP 프로그래머는 자신의 프로그램 작성에 집중할 수 있습니다.
회사에는 일반적으로 자체 템플릿 엔진이 있으며, Smarty와 같이 이미 시장에 매우 성숙한 템플릿 엔진이 있기 때문에 템플릿 엔진을 직접 작성할 필요는 없습니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP 템플릿 엔진의 원리를 자세히 설명하는 기사(코드 예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!