written: Jan 28 2002
last modified: Sep 20 2006
last modified: Sep 20 2006
1.2.0 버전 설치방법
압축파일 구성
공개된 후키템플릿의 압축파일은 아래와 같이 구성되어 있습니다.
+- test.php (게시판 목록보기 예제)
|
+- class -+- cache - class.hCacheFile.php
| |
| +- class - class.hClassMember.php
| |
| +- structure - class.hStack.php
| |
| +- globals - class.hGlobals.php
| |
| +- patterns - class.hSingleton.php
| |
| +- HTML -+- class.hHtmlParser.php
| | +- class.hHtmlUrlParser.php
| | +- class.hHtmlClassify.php
| |
| +- template -+- class.hTemplate.php
| + class.hTemplateStructure.php
| + class.hTemplateFile.php
| + class.hTemplateAssign.php
| + class.hTemplateCompile.php
| + class.hTemplateDebug.php
| + class.hTemplateCache.php (1.2.0에서 추가)
| + class.hTemplateFunction.php (1.2.0에서 추가)
| + class.hTemplateFilter.php (1.2.0에서 추가)
|
+- func -+- func.version_compare.php (1.2.0에서 삭제)
|
+- hCache --- templates (템플릿 캐시 파일 기록 장소)
|
+- templates -+- listform.htm (템플릿 파일)
|
+- images (이미지 파일들)
func.version_compare.php 파일
이 파일은 버전 비교 루틴에 문제가 있어 1.1.0 버전에 추가된 파일입니다.
[code php;gutter:false]
if ('4.3.0' <= PHP_VERSION) {...}
[/code]
위와 같은 단순문자열 비교로는 정확한 버전을 비교할 수가 없어 아래와 같이 version_compare() 함수를 이용하여 버전 비교 루틴을 수정하였습니다.
[code php;gutter:false]
if (version_compare('4.3.0', PHP_VERSION, '<=')) {...}
[/code]
그런데 version_compare() 함수가 PHP 4.1.0 버전부터 제공되는 것이라 그 이하 버전에서는 사용할 수 없습니다. 이 문제로 PHP 4.1.0 이전 버전에서도 version_compare() 함수를 사용할 수 있도록 func.version_compare.php 파일에 version_compare() 함수를 정의해 놓았습니다.
PHP 4.1.0 이전 버전에서 후키템플릿을 사용하게 되면 version_compare() 함수가 정의되어 있지 않다는 에러메시지를 보게 될 것입니다. 이러한 경우에는 후키템플릿 파일을 인클루드 하기 전에 아래와 같이 func.version_compare.php 파일을 인클루드하시기 바랍니다.
[code php;gutter:false]
include_once("해당디렉토리/func/func.version_compare.php");
include_once("해당디렉토리/class/template/class.hTemplate.php");
$tpl = new hTemplate(...);
[/code]
후키템플릿 1.2.0 버전에서는 PHP 4.1.0 이후 버전에서만 동작하므로 func.version_compare.php 파일이 필요없습니다.
캐시 저장 디렉토리 설정
이 구성을 그대로 유지하여 서버에 업로드 하게되면 첨부된 예제 파일 test.php를 전혀 수정없이 실행할 수 있습니다. 단 캐시 저장 디렉토리(하위 디렉토리 포함)는 읽기/쓰기를 할 수 있어야 하기 때문에 퍼미션을 아래와 같이 설정하여 주시기 바랍니다.
리눅스라면
chmod a+rwx 캐시 저장 디렉토리
처럼 하시면 되고 윈도우라면 디렉토리 속성이 읽기전용이 되지 않도록만 설정하면 됩니다.
각 디렉토리 위치를 변경하려면
클래스 파일을 다른 곳으로 옮기고 싶을 때
만약 클래스 파일을 다른 곳으로 옮기고 싶다면 class 디렉토리 및 그 하부 디렉토리의 내용을 통째로 원하는 곳으로 옮긴 후 test.php 예제 소스에 있는 include_once 부분만 아래와 같이 수정하면 되며 후키 템플릿에 포함된 클래스의 내용은 전혀 수정할 필요가 없습니다.
[code php;gutter:false]
/**
* hwooky Template
*/
include_once("옮겨진 새로운 디렉토리/class.hTemplate.php");
[/code]
캐시 저장 디렉토리를 다른 곳으로 옮기고 싶을 때
만약 캐시 저장 디렉토리를 다른 곳으로 옮기고 싶다면 test.php 예제 소스에 있는 후키템플릿 객체 생성 부분을 아래와 같이 수정하세요.
[code php;gutter:false]
$tpl = new hTemplate("템플릿 파일 저장 디렉토리",
array(
"update" => isset($_GET["update"]) ? true : false,
"id" => "listform",
"path" => "새로운 캐시 저장 디렉토리"
)
);
[/code]
수정하신 후 옮겨진 캐시 저장 디렉토리의 퍼미션을 다시 설정해야 하는 것 잊지마시기 바랍니다.
템플릿 파일이 위치한 디렉토리를 다른 곳으로 옮기고 싶을 때
만약 템플릿 파일이 위치한 디렉토리를 옮기고 싶다면 test.php 예제 소스에 있는 후키템플릿 객체 생성 부분을 아래와 같이 수정하세요.
[code php;gutter:false]
$tpl = &new hTemplate("새로운 템플릿 파일 저장 디렉토리", ......);
[/code]
이전 버전을 말끔히 지운 후 새버전으로 다시 설치하십시요. 다시 설치한 후에 캐시 디렉토리에 있는 이전 버전의 캐시를 지우기 바랍니다.
'phpsource > 템플릿' 카테고리의 다른 글
{후키템플릿}2.1.템플릿 자료 구조 (0) | 2006.09.20 |
---|---|
{후키템플릿}1.7.캐시를 이용하는 방법 (0) | 2006.09.20 |
{후키템플릿}0.1.개요 (0) | 2006.09.20 |
{후키템플릿}9.4.중첩 블록을 이용하기 (0) | 2006.09.20 |
{후키템플릿}9.3.블록 조건처리 (0) | 2006.09.20 |