1.2.0 버전 설치방법
압축파일 구성
공개된 후키템플릿의 압축파일은 아래와 같이 구성되어 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
+- 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 버전에 추가된 파일입니다.
1 |
if ('4.3.0' <= PHP_VERSION) {...} |
위와 같은 단순문자열 비교로는 정확한 버전을 비교할 수가 없어 아래와 같이 version_compare() 함수를 이용하여 버전 비교 루틴을 수정하였습니다.
1 |
if (version_compare('4.3.0', PHP_VERSION, '<=')) {...} |
그런데 version_compare() 함수가 PHP 4.1.0 버전부터 제공되는 것이라 그 이하 버전에서는 사용할 수 없습니다. 이 문제로 PHP 4.1.0 이전 버전에서도 version_compare() 함수를 사용할 수 있도록 func.version_compare.php 파일에 version_compare() 함수를 정의해 놓았습니다.
PHP 4.1.0 이전 버전에서 hTemplate을 사용하게 되면 version_compare() 함수가 정의되어 있지 않다는 에러메시지를 보게 될 것입니다. 이러한 경우에는 hTemplate 파일을 인클루드 하기 전에 아래와 같이 func.version_compare.php 파일을 인클루드하시기 바랍니다.
1 2 3 |
include_once("해당디렉토리/func/func.version_compare.php"); include_once("해당디렉토리/class/template/class.hTemplate.php"); $tpl = new hTemplate(...); |
후키템플릿 1.2.0 버전에서는 PHP 4.1.0 이후 버전에서만 동작하므로 func.version_compare.php 파일이 필요없습니다.
캐시 저장 디렉토리 설정
이 구성을 그대로 유지하여 서버에 업로드 하게되면 첨부된 예제 파일 test.php를 전혀 수정없이 실행할 수 있습니다. 단 캐시 저장 디렉토리(하위 디렉토리 포함)는 읽기/쓰기를 할 수 있어야 하기 때문에 퍼미션을 아래와 같이 설정하여 주시기 바랍니다.
리눅스라면
- chmod a+rwx 캐시 저장 디렉토리
처럼 하시면 되고 윈도우라면 디렉토리 속성이 읽기전용이 되지 않도록만 설정하면 됩니다.
각 디렉토리 위치를 변경하려면
클래스 파일을 다른 곳으로 옮기고 싶을 때
만약 클래스 파일을 다른 곳으로 옮기고 싶다면 class 디렉토리 및 그 하부 디렉토리의 내용을 통째로 원하는 곳으로 옮긴 후 test.php 예제 소스에 있는 include_once 부분만 아래와 같이 수정하면 되며 후키 템플릿에 포함된 클래스의 내용은 전혀 수정할 필요가 없습니다.
1 2 3 4 |
/** * hwooky Template */ include_once("옮겨진 새로운 디렉토리/class.hTemplate.php"); |
캐시 저장 디렉토리를 다른 곳으로 옮기고 싶을 때
만약 캐시 저장 디렉토리를 다른 곳으로 옮기고 싶다면 test.php 예제 소스에 있는 hTemplate 객체 생성 부분을 아래와 같이 수정하세요.
1 2 3 4 5 6 7 |
$tpl = new hTemplate("템플릿 파일 저장 디렉토리", array( "update" => isset($_GET["update"]) ? true : false, "id" => "listform", "path" => "새로운 캐시 저장 디렉토리" ) ); |
수정하신 후 옮겨진 캐시 저장 디렉토리의 퍼미션을 다시 설정해야 하는 것 잊지마시기 바랍니다.
템플릿 파일이 위치한 디렉토리를 다른 곳으로 옮기고 싶을 때
만약 템플릿 파일이 위치한 디렉토리를 옮기고 싶다면 test.php 예제 소스에 있는 후키템플릿 객체 생성 부분을 아래와 같이 수정하세요.
1 |
$tpl = &new hTemplate("새로운 템플릿 파일 저장 디렉토리", ......); |
이전 버전을 말끔히 지운 후 새버전으로 다시 설치하십시요. 다시 설치한 후에 캐시 디렉토리에 있는 이전 버전의 캐시를 지우기 바랍니다.