written: Jan 28 2002
last modified: Sep 20 2006
last modified: Sep 20 2006
여기서는 기존에 FastTemplate을 이용하여 작성된 문서를 거의 수정없이 사용하는 방법에 대하여 살펴보겠습니다. 1.1.1 버전부터는 이 기능을 지원하지 않습니다.
hFastTempalte 클래스
hFastTemplate 클래스는 FastTempalte로 작성된 문서를 수정없이 재사용하기 위해 작성된 것입니다. 이 클래스는 class.hFastTemplate.php 파일 내에 작성되어 있습니다.
hTemplate 클래스 대신에 hFastTemplate 클래스를 이용하면 FastTemplate 문서(php 소스 및 템플릿 파일)를 거의 수정없이 재사용할 수 있습니다.
FastTempalte용 템플릿 파일의 호환성
FastTemplate용으로 작성된 템플릿 파일은 전혀 변경없이 후키템플릿에서 그대로 사용할 수 있습니다.
FastTempalte용 php 소스의 호환성
후키템플릿 hFastTemplate 클래스의 사용방법은 FastTemplate의 사용방법과 동일합니다. 따라서 기존에 FastTemplate를 이용하여 작성된 페이지가 있다면 아래와 같이 클래스 파일명과 클래스명만 변경시켜주면 나머지 부분은 전혀 변경하지 않고도 사용할 수 있습니다.
예를 들어 FastTemplate를 이용하여 작성된 문서가 아래와 같다고 하면,
[code php;gutter:false]
include_once('./class/template/class.FastTemplate.php');
$tpl = new FastTemplate('./Templates');
[/code]
이를 아래와 같이 수정합니다.
[code php;gutter:false]
include_once('./class/template/class.hFastTemplate.php');
$tpl = new hFastTemplate('./Templates',
array(
'update' => $update ? true : false,
'id' => $sign,
'path' => './cache'
)
);
[/code]
hFastTemplate 클래스를 이용하면 URL 자동 변경기능을 수행하지 않습니다. 반면 캐시 기능은 "active_cache_handler"를 true로 지정하지 않더라도 동작하도록 되어 있습니다. 만약 캐시 기능까지 동작하기를 원치않으면 아래와 같이 "active_cache_handler"를 false로 설정하기 바랍니다.
[code php;gutter:false]
$tpl = new hFastTemplate('./Templates',
array(
'active_cache_handler' => false
)
);
[/code]
FastTempalte 함수와의 호환성
FastTemplate에서 제공하는 함수 중에서 define, assign, get_assigned, parse, FastPrint, fetch, define_dynamic, clear_dynamic 함수만을 이용하여 작성된 소스라면 hFastTemplate 클래스를 이용하여 거의 100% 수정없이 사용할 수 있을 것입니다.
이 외의 함수로는 clear 계열의 삭제함수 밖에 없습니다만 아마 일반적으로 clear 계열의 함수를 사용하는 경우는 거의 없을 것입니다. 혹시나 해서 FastTemplate에서 제공하는 모든 삭제함수(clear_tpl, clear_all, clear, clear_parse, clear_href, clear_define)에 대하여도 가능한한 호환성을 유지되도록 작성하였습니다. 다른 함수와 달리 삭제함수는 템플릿 자료구조의 영향을 직접적으로 받기 때문에 템플릿 자료구조가 다른 FastTemplate와 호환성을 유지하기는 매우 어렵습니다. 따라서 경우에 따라서는 문제가 발생할 수 있으니 충분히 테스트해 보시기 바랍니다.
원본을 수정하기 전에 반드시 백업받아두시기 바랍니다!!! 만약 수정 후 정상적으로 동작되지 않는다면 원본이 필요하겠지요.
제공 함수 목록
분류 | FastTemplate | hFastTemplate | 기능 |
---|---|---|---|
템플릿 | define | define | 템플릿 파일 읽기,템플릿 구조 분석 |
clear_tpl | clear_tpl*1 | 템플릿 삭제 | |
clear_define | clear_define*1 | 파일핸들 삭제 | |
템플릿 변수 | assign | assign | 템플릿 변수에 값 할당 |
parse | parse | ||
get_assigned | get_assigned | 템플릿 변수값 가져오기 | |
fetch | fetch | ||
clear | clear | 템플릿 변수 삭제 | |
clear_parse | clear_parse | ||
clear_href | clear_href | ||
clear_dynamic | clear_dynamic | ||
출력 | FastPrint | FastPrint | 템플릿 변수값 출력 |
기타 | strict | - | 미정의 템플릿 변수 보여주기 |
no_strict | - | 미정의 템플릿 변수 감추기 | |
define_dynamic | define_dynamic*1 | 부모 템플릿 지정하기 | |
clear_all | clear_all | clear();clear_tpl(); |
<표1>에 표기된 hFastTemplate의 멤버함수 중에서 *1 표시가 있는 함수들(clear_tpl, clear_define, define_dynamic)은 실행문장이 없는 더미 함수들입니다.
strict, no_strict 함수
strict()
no_strict()
no_strict()
FastTemplate에서 strict, no_strict 함수는 미정의된 템플릿 변수가 있을 때 에러메시지를 발생시킬 것인지 아니면 무시하고 미정의된 템플릿 변수를 모두 null 처리할 것인지를 결정하는 함수입니다. 기본값으로는 에러메시지를 발생시키도록 되어 있습니다. no_strict 함수를 이용하면 에러메시지없이 그냥 무사통과시킬 수 있지요.
hFastTemplate 클래스에서는 strict, no_strict 함수를 제공하지 않습니다. 따라서 strict, no_strict 함수는 모두 삭제하시기 바랍니다. 미정의된 템플릿 변수가 있으면 무조건 에러메시지를 보게 되거나(버전 0.0.1) 아니면 빈문자열이 할당(버전 0.0.2 이상)됩니다.
'phpsource > 템플릿' 카테고리의 다른 글
{후키템플릿}1.6.템플릿 클래스 구성 (0) | 2006.09.20 |
---|---|
{후키템플릿}1.5.FastTemplate->후키템플릿 (0) | 2006.09.20 |
{후키템플릿}1.3.페이지 작성 과정 (0) | 2006.09.20 |
{후키템플릿}7.8.NO파일 용법 (0) | 2006.09.20 |
{후키템플릿}1.1.템플릿 관련 용어 (0) | 2006.09.20 |