구성 영역
템플릿 파일에 포함된 내용을 기능에 따라 구분하면 주석을 달아주는 "설명부분", 변수를 정의하는 "변수정의영역"과 템플릿 자체를 나타내는 "템플릿영역"으로 나눌 수 있습니다.
[code php;gutter:false]
//
// 상단을 구성하는 유닛 테이블
//
$v1 = { [/code]
// 상단을 구성하는 유닛 테이블
//
$v1 = { [/code]
"설명 부분"은 "//"로 시작되는 한 줄 짜리 주석이 모여서 구성됩니다.
"변수정의영역"은 "템플릿영역" 또는 "변수정의영역"에서 사용된 변수를 정의해 주는 영역으로 PHP의 변수라고 생각하시면 됩니다. 정의된 이후부터 그 값이 유효하게 됩니다. 정의될 변수명은 PHP 변수명을 정의하는 방법과 동일합니다.
"템플릿영역"은 실제 홈페이지의 레이아웃과 데이터를 나타내는 부분으로 이 곳에 존재하는 데이터에는 값이 변하지 않는 데이터와 값이 변할 수 있는 데이터가 있습니다. 전자를 템플릿상수이라 하고, 후자를 템플릿 변수라고 합니다. 이 외에도 데이터의 용도를 나타내는 지정자가 있으며, 마지막으로는 지정자, 템플릿 변수, 템플릿상수를 구분해주는 구분자가 있습니다.
템플릿 영역
"템플릿 영역"은 아래와 같이 세미콜론(;)으로 시작됩니다.
;table:top ctrl=cols:3 attrib=border:0;width:96%
; group:
; td: value=desc:$v1 attrib=colspan:3;height:20
; td: value=gfunc:$v8 attrib=align:center;colspan:3
; td: value=gvar:$v9 attrib=height:19;colspan:3
; td: attrib=colspan:3;height:19
; group:
; td: value=desc:$v1 attrib=colspan:3;height:20
; td: value=gfunc:$v8 attrib=align:center;colspan:3
; td: value=gvar:$v9 attrib=height:19;colspan:3
; td: attrib=colspan:3;height:19
이 예에서 템플릿 변수, 템플릿상수, 구분자, 지정자를 구분해 보면 아래와 같습니다.
템플릿 변수 -> $v1, $v8, $v9
구분자 -> 스페이스, 등호(=), 세미콜론(;), 콜론(:), 콤마(,)
지정자 -> table, group, td, ctrl, cols, attrib,
value, desc, gfunc, gvar, border, width,
colspan, height, align, colspan, height
템플릿상수 -> top, 3, 0, 96%, 20, 19
구분자 -> 스페이스, 등호(=), 세미콜론(;), 콜론(:), 콤마(,)
지정자 -> table, group, td, ctrl, cols, attrib,
value, desc, gfunc, gvar, border, width,
colspan, height, align, colspan, height
템플릿상수 -> top, 3, 0, 96%, 20, 19
지정자는 다시 2가지로 세분될 수 있습니다. 등호(=)의 좌측에 올 수 있는 모드(mode) 지정자와 콜론(:)의 좌측에 올 수 있는 속성(property) 지정자가 있습니다.
모드지정자 -> ctrl, attrib, value,
속성지정자 -> table, group, td, cols, desc, gfunc, gvar,
border, width, colspan, height, align,
colspan, height
속성지정자 -> table, group, td, cols, desc, gfunc, gvar,
border, width, colspan, height, align,
colspan, height
템플릿상수는 "속성지정자:" 우측에 위치한 속성 값으로만 사용됩니다. 반면에 템플릿 변수는 템플릿영역(세미콜론으로 시작되는 영역)의 어느 곳이라도 놓여질 수 있습니다. 단, 템플릿영역을 의미하는 세미콜론(;), 변수정의영역의 $, 주석을 나타내는 //은 변수로 지정할 수 없습니다.
'phpsource > 템플릿' 카테고리의 다른 글
{유닛테이블}10.레이아웃을 위한 자료구조 (0) | 2000.08.06 |
---|---|
{유닛테이블}09.모드 및 속성지정자 (0) | 2000.08.06 |
{유닛테이블}07.동작 (0) | 2000.08.06 |
{유닛테이블}06.구성 (0) | 2000.08.06 |
{유닛테이블}05.개요 (0) | 2000.08.06 |