void head(string key);
void head(string key, string val);
void head(string key, string val);
head()는 HEAD 태그 내에 필요한 정보를 지정할 때 사용하는 메소드이며, 첫 번째 매개변수 key에 지정할 수 있는 지정자는 title, author, keywords, description, css, cssfile, script, scriptfile입니다. 두 번째 매개변수 val을 지정하지 않으면 key에 해당하는 값을 읽어오는 것이고, val 매개변수를 지정하면 key에 해당하는 값을 변경하거나 추가하는 것입니다. val 매개변수를 지정했을 때 이미 지정된 값을 대신하여 지정되는 key는 title, author, keywords, description이고, 이미 지정된 값에 더하여 추가되는 key는 css, cssfile, script, scriptfile 입니다.
[code php;gutter:false]
$pw = new clsPageworks($argv);
$pw->head("title", "PHP Class Community");
$pw->head("author", "hwooky");
$pw->head("keywords", "php3,php4,php,class,클래스,상속,객체");
$pw->head("description", "어서 오시 와요");
$pw->head("script",
"function warning() {
alert('경고');
}");
$pw->head("css", ".td {font-size:9pt;line-height:1.2}");
$pw->head("cssfile", "./document.css");
$pw->head("scriptfile", "./dom.js");
[/code]
위와 같이 작성하였을 때에 생성되는 HTML 코드는 아래와 같습니다.
[code html;gutter:false]
<TITLE>PHP Class Community</TITLE>
<META http-equiv='content-type' content='text/html;
charset=euc-kr'>
<META name='author' content='hwooky'>
<META name='keywords'
content='php3,php4,php,class,클래스,상속,객체'>
<META name='description' content='어서 오시 와요'>
<LINK rel=stylesheet type='text/css' href='./document.css'>
<SCRIPT language='javascript' src='./dom.js'></SCRIPT>
<STYLE type=text/css>
<!--
.td {font-size:9pt;line-height:1.2}
//-->
</STYLE>
<SCRIPT language=javascript>
<!--
function warning() {
alert('경고');
}
//-->
</SCRIPT>
[/code]
void body(string key);
void body(string key, string val);
void body(string key, string val);
body()는 BODY 태그 및 BODY 태그 하단에 필요한 정보를 지정할 때 사용하는 메소드이며, 첫 번째 매개변수 key에 지정할 수 있는 지정자는 attrib, onload, (spanid), (script), (enctype), (field) 등입니다. 지정자 attrib와 onload는 BODY 태그 자체의 정보를 지정하기 위한 것이고 나머지 spanid, script, enctype, field 등은 BODY 태그 하단에 삽입할 정보를 지정하기 위해 예약된 키워드들로 아직 내부 기능이 확정되지 않았습니다.
[code php;gutter:false]
$pw->body("attrib", "topmargin=0 leftmargin=0 marginwidth=0
marginheight=0");
$pw->body("onload", "goHref()");
[/code]
위와 같이 작성하였을 때에 생성되는 HTML 코드는 아래와 같습니다.
[code php;gutter:false]
<BODY topmargin=0 leftmargin=0 marginwidth=0 marginheight=0
onLoad='goHref()'>
[/code]
void unittable(string dir_ut, array file_ut);
void unittable(string dir_ut, array file_ut, array static_var);
void unittable(string dir_ut, array file_ut, array static_var);
이 메소드의 첫 번째 매개변수는 템플릿이 저장되는 경로를 지정합니다. 두 번째 매개변수는 현재 페이지에서 사용하는 템플릿 파일명을 지정합니다. 세 번째 매개변수는 스태틱 템플릿 변수를 PHP 코드에서 지정할 때 사용합니다. 아래 예에서 "dir_home"는 템플릿 파일 변수정의영역에서 "$dir_home = ./.."와 같이 스태틱 템플릿 변수를 정의한 것과 동일한 결과를 얻을 수 있습니다. 스태틱 템플릿 변수를 지정하는 또 다른 메소드 staticvar()을 이용할 수도 있습니다.
[code php;gutter:false]
$pw->unittable(
".",
array(
"test.ut"
),
array(
"dir_home"=>"./.."
)
);
[/code]
void staticvar(void);
void staticvar(array static_var);
void staticvar(array static_var);
스태틱 템플릿 변수를 지정해주는 전용 메소드입니다. 지정할 변수가 많을 때는 unittable() 메소드보다는 staticvar() 메소드를 이용하는 것이 바람직하다고 생각합니다. 안을 들여다보면 둘 다 동일한 내부 메소드를 호출하고 있습니다.
[code php;gutter:false]
$pw->staticvar(
array(
"dir_home" =>"./..",
"dir_engine"=>"./engine",
"dir_image" =>"./img",
"dir_icon" =>"./icon"
)
);
[/code]
void parse(void);
void parse(string modify);
void parse(string modify);
템플릿 파일의 UTIS 형식의 데이터를 읽어들여 UTEA 형식의 데이터로 컴파일(?)한 후 데이터베이스 엔진으로 데이터를 전송합니다. 첫 번째 매개변수를 지정하면 템플릿 파일의 변경에 관계없이 강제적으로 중간코드를 다시 생성합니다. 그러나 첫 번째 매개변수를 생략하면 템플릿 파일이 변경되었을 때만 템플릿 파일을 해석하여 중간코드를 새롭게 생성해 줍니다. 매개변수의 값은 null 문자를 제외한 어떠한 문자(열)를 지정하여도 관계없습니다.
[code php;gutter:false]
$pw->parse($modify);
[/code]
void htmlprint(void);
메모리에 저장된 UTEA 형식의 데이터를 읽어들여 레이아웃 구조 및 다이내믹 변수 값을 해석하고 HTML 코드를 생성한 후 생성된 코드를 웹브라우저 화면에 보내줍니다.
[code php;gutter:false]
$pw->htmlprint();
[/code]
void parseprint(void);
void parseprint(string modify);
void parseprint(string modify);
parse() 메소드와 htmlprint() 메소드를 순차적으로 실행하여 줍니다. 따라서 parse() 메소드를 실행한 직후에 별다른 작업이 필요 없을 때는 parseprint() 메소드를 사용하면 좀 더 편하게 코딩할 수 있습니다.
[code php;gutter:false]
$pw->parseprint($modify);
[/code]
'phpsource > 템플릿' 카테고리의 다른 글
{유닛테이블}15.각 툴의 비교 (0) | 2000.08.06 |
---|---|
{유닛테이블}14.DB Layer에 접속하는 방법 (0) | 2000.08.06 |
{유닛테이블}12.템플릿상수 & 변수 (0) | 2000.08.06 |
{유닛테이블}11.데이터형식 (0) | 2000.08.06 |
{유닛테이블}10.레이아웃을 위한 자료구조 (0) | 2000.08.06 |