written: Jul 15 2008
템포2 사용방법
아래와 같은 순서를 통해 템포2를 사용할 수 있습니다.
- 템플릿 문서 준비하기
- 템포2 클래스 파일 인클루드하기
- 클래스의 객체 생성하기
- 템플릿 문서를 파싱(parse)하기
- 변수 할당하기
- 블록요소 할당(assign)하기
- 할당된 템플릿 문서를 출력(output)하기
1. 템플릿 문서 준비하기
템플릿 문서(파일 또는 문자열)는 기본적으로 HTML 문서로 변수와 다이나믹 블록을 포함하고 있습니다. 변수는 별도의 변수형식을 제공하지 않으며 PHP에서 제공하는 <?=$변수명?>이 같은 형식을 그대로 이용합니다. 다이나믹 블록은 <tempo id="블록요소명" 속성>블록요소내용</tempo>와 같은 형식의 태그를 이용하여 템플릿 문서를 작성합니다.
[code html;gutter:false]
<table>
<tr>
<th>column1</th>
<th>column2</th>
<th>column3</th>
</tr>
<tempo id="eLoop">
<tr>
<td><?=$column1?></td>
<td><?=$column2?></td>
<td><?=$column3?></td>
</tr>
</tempo>
</table>
[/code]
2. 템포2 클래스 인클루드하기
가장 먼저 템포2 클래스 파일(class.tempo2.php)를 require_once() 또는 include_once()를 이용하여 인클루드합니다.
[code php;gutter:false]
require_once('somewhere/class.Tempo2.php');
[/code]
3. 클래스의 객체 생성하기
new 연산자를 사용하여 템포2 클래스의 객체를 생성화합니다. PHP4 버전에서는 반드시 참조연산자(&)를 사용하여야 합니다.
[code php;gutter:false]
$tempo = &new Tempo2;
[/code]
4. 템플릿 문서를 파싱(parse)하기
템플릿 문서(파일 또는 문자열)를 parse() 또는 parse_str() 메쏘드를 사용하여 파싱합니다. 첫번째 인수는 템플릿 핸들이고 두번째 인수는 템플릿 문서(파일명 또는 문자열)를 지정합니다.
[code php;gutter:false]
$tempo->parse('eRoot', 'templates/tempo.sample.htm');
[/code]
템플릿 문서를 파싱할 때 문서 내에 포함된 다이나믹 블록요소들은 별도의 객체로 생성됩니다. 각 블록요소 객체는 블록요소명을 키로 하는 el 멤버를 통해 접근할 수 있습니다. 템플릿 문서도 최상위 블록요소로 취급되며 최상위 블록요소명는 parse() 메쏘드의 첫번째 인수로 지정된 템플릿 핸들이 됩니다. 템플릿 핸들 'eRoot'와 블록요소명 'eLoop'에 해당하는 각 객체를 접근하기 위한 예를 들어보면 아래와 같습니다.
[code php;gutter:false]
$tempo->el['eRoot']->innerTPL;
$tempo->el['eLoop']->innerTPL;
[/code]
5. 변수 할당하기
PHP의 전역변수를 이용하여 그 값을 할당합니다.
[code php;gutter:false]
$column1 = 'apple';
$column2 = 'banana';
$column3 = 'orange';
[/code]
6. 블록요소 할당(assign)하기
최상위 블록요소인 템플릿 문서를 포함한 모든 블록요소에 해당하는 객체를 통해 블록요소 내용을 할당합니다.
[code php;gutter:false]
$tempo->el['eLoop']->assign('');
for ($i=0; $i<3; $i++) {
$tempo->el['eLoop']->assign('.');
}
$tempo->el['eRoot']->assign();
[/code]
7. 할당된 문서를 출력(output)하기
템플릿 문서를 할당할 때와 마찬가지로 블록단위로 출력하게 됩니다.
[code php;gutter:false]
$tempo->el['eRoot']->output();
[/code]
'phpsource > 템플릿' 카테고리의 다른 글
{템포2}4.멤버함수 (0) | 2008.07.16 |
---|---|
{템포2}3.템플릿 문서 (0) | 2008.07.16 |
{템포2}1.소개 (0) | 2008.07.16 |
{후키템플릿}8.1.필터 기능 (0) | 2008.05.31 |
{Tempo}6.Download (0) | 2007.09.01 |