VH layout은 레이아웃툴!!!
- "VH layout"은 대부분의 HTML 태그를 함수(전역함수 및 클래스의 메소드)로 표현하였습니다.
- "FastTemplate"에서 표현하기가 곤란한 레이아웃용 TABLE 태그를 제한 없이 다층으로 중첩하여 표현할 수 있도록 하였습니다.
- 템플릿 기능이 없습니다.
아래에 "VH layout"을 이용하여 페이지를 작성하는 예를 나타내었습니다. 보시는 바와 같이 insert() 함수를 이용하여 필요한 객체를 필요한 만큼 삽입시킨 후 printhtml() 함수로 페이지를 작성합니다. 아래에 보면 setdefault(), newhtml(), insert(), wheader(), table(), cell(), text() 등 전역함수들이 몇 개 보이는데 이 외에도 태그에 관련된 많은 함수들이 제공되고 있습니다. 이들 전역함수들은 내부적으로 클래스로 작성된 코드를 이용하여 매번 새로운 객체를 생성하고 있습니다.
[code php;gutter:false]
<?php
include('class.layout');
setdefault("window",array("bgcolor"=>"#FFFFFF"));
newhtml(&$w);
insert($w,$h = wheader("PHP Class Community"));
insert($w,$t = table(array("width" => "600px")));
insert($t,$c = cell(array("bgcolor"=>"#cccccc")));
insert($c,text("내용이 들어가요."));
printhtml($w);
?>
[/code]
평가
위에서 언급하였듯이 VH layout은 "FastTemplate"에서 표현하기가 곤란한 레이아웃용 TABLE 태그를 제한 없이 다층으로 중첩하여 표현할 수 있도록 하였습니다. 그러나 실행할 때 레이아웃 구조 및 데이터를 분석하여 페이지를 작성하기 때문에 속도가 늦습니다. 그리고 태그를 함수로 나타내다보니 전체 레이아웃을 파악하기가 쉽지 않습니다. 실제로 뒷장에 나오는 예제를 제 홈페이지의 HTML 태그를 기준으로 FastTemplate, VH layout, UnitTable을 가지고 작성하려고 했는데 VH layout은 중간에 포기하고 말았습니다. 물론 제가 VH layout을 제대로 다루지 못하는 것이 가장 큰 이유이기도 하지만 무엇보다 레이아웃 구조를 함수로 표현하다보니 가독성이 떨어져서 중첩된 레이아웃의 부모-자식의 관계를 쉽게 나타낼 수가 없었어요. 그래서 예제의 모델이 된 제 홈페이지를 표현하는 것은 포기하고 대신 VH layout에서 받은 예제를 거의 그대로 하여 예제로 올렸습니다. VH layout은 레이아웃 전용툴이기 때문에 템플릿 기능이 없습니다.
AH layout에 대한 더 자세한 사용법이나 특징은 이곳(www.vhconsultants.com)을 방문하세요.
(수정:2010.1.11) 오래된 문서라서 현재는 링크가 깨진 상태입니다. 아래 복사본을 참조하세요.
'phpsource > 템플릿' 카테고리의 다른 글
{유닛테이블}06.구성 (0) | 2000.08.06 |
---|---|
{유닛테이블}05.개요 (0) | 2000.08.06 |
{유닛테이블}03.FastTemplate의 소개 (0) | 2000.08.06 |
{유닛테이블}02.페이지툴의 필요성 (0) | 2000.08.06 |
{유닛테이블}01.페이지툴 (0) | 2000.08.06 |