템플릿 파일 작성 main.htm
작성된 템플릿 main.htm에는 라는 변수가 포함되어 있으며 이 변수는 출력하기 전에 실제 값으로 대치됩니다.
1 2 3 4 5 6 7 8 |
<!-- NAME: main.htm --> <HTML> <HEAD> <TITLE> </TITLE> </HEAD> <BODY> </BODY> </HTML> <!-- END: main.htm --> |
PHP 코드 작성 test.php
main.htm이라는 템플릿 파일을 이용하여 HTML의 원형을 작성하기 위한 PHP 코드는 아래와 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 |
include_once('class.hTemplate.php'); $tpl = new hTemplate('./templates'); $tpl->define( array( 'main' => 'main.htm' ) ); $tpl->assign('TITLE', '후키템플릿 실험'); $tpl->assign('MAIN', 'main'); $tpl->output('MAIN'); |
class.hTemplate.php에는 클래스 hTemplate가 정의되어 있습니다. 이 파일을 포함시켜야 4번 행과 같이 $tpl이라는 객체를 생성할 수 있습니다. 객체 생성할 때 지정된 “./templates”에 의해 모든 템플릿들이 이 디렉토리에 있다는 것을 후키템플릿에 알려줍니다. 객체를 생성할 때 템플릿 디렉토리를 지정하지 않으면 현행 디렉토리에서 템플릿을 찾게 됩니다.
4번 행의 define() 함수를 실행하게 되면 템플릿 파일 main.htm의 내용은 템플릿 main에 저장되며 이 후로는 템플릿명 main을 통해 템플릿에 접근할 수 있습니다. 이 예제에서는 11번 행의 assign() 함수의 두 번째 인수에 템플릿 main을 지정하여 이 템플릿을 분석하도록 하고 있습니다.
10번 행의 assign() 함수를 통해 TITLE라는 템플릿 변수에 “후키템플릿 실험”라는 문자열을 할당합니다. 이와 같이 템플릿에 포함된 템플릿 변수에 대하여 미리 그 값을 할당하여야 11행과 같이 템플릿 main에 대하여 assign() 함수를 실행할 때 템플릿 main에 포함된 템플릿 변수를 앞서 할당된 그 변수값으로 대치할 수가 있습니다.
12번 행에 의해 output() 함수에서 지정된 템플릿 변수 MAIN의 내용이 출력됩니다.
11번 행에서와 같이 assign() 함수에서 지정한 MAIN이라는 템플릿 변수에는 이 함수에 의해 템플릿을 해석한 결과값이 마지막으로 저장되기 때문에 뒤에서 필요하다면 다른 템플릿을 해석할 때 또 다른 템플릿 변수로써 활용될 수 있습니다.
생성된 HTML 문서
test.php 코드에 의해 main.htm로 부터 생성된 HTML 문서를 보면 아래와 같습니다.
1 2 3 4 5 6 7 8 |
<!-- NAME: main.htm --> <HTML> <HEAD> <TITLE> 후키템플릿 실험 </TITLE> </HEAD> <BODY> </BODY> </HTML> <!-- END: main.htm --> |
생성된 HTML 코드를 보면 템플릿 변수 가 “후키템플릿 실험”라는 문자열로 대치되어 있는 것을 볼 수 있습니다.