'2008/05'에 해당되는 글 1건

  1. 2008.05.31 {후키템플릿}8.1.필터 기능
phpsource/템플릿2008. 5. 31. 13:01
written: Oct 25 2006
last modified: May 31 2008
[버전1.2.0 제안서] 여기서 기술한 내용은 확정된 용법이 아니라 다음 버전을 발표할 때까지 여러분의 의견 수렴을 통해 더 검토되어야 하는 제안서(proposal)로 문법적인 내용이 다소 변경될 수 있음을 미리 밝혀둡니다.
다음 버전부터는 필터 기능을 지원하지 않습니다. 필터기능은 다른 방법으로 단순화시켜 제공할 생각입니다.
필터(filter)
필터란 입력된 내용을 그대로 출력하는 것이 아니라 여러가지 가공을 거쳐 출력하는 기능입니다. 정수기를 예로 들어보겠습니다.
더러운물 ===> 정수기(냄새제거, 불순물제거, 이온변화) ===> 깨끗한물
< 정수기 >
정수기로 들어가는 더러운물이 정수기 내에 있는 필터를 통과할 때 냄새를 제거하고, 불순물을 제거하고 이온을 변화시켜 온천물과 같은 물로 바꾸어 준 후에 밖으로 내보냅니다.
후키템플릿에서 제공하고자 하는 필터링 기능도 정수기와 같이 입력된 내용을 가공하여 출력할 수 있도록 해주는 기능입니다.
후키템플릿 필터의 특징
일반적으로 다른 템플릿툴에서는 필터함수를 등록함수를 통해 등록하여 사용하도록 하고 있습니다. 반면에 후키템플릿에서는 템플릿 문서별로 블록변수(다이나믹블록)나 파일변수(인클루드문)를 통해 필터함수를 지정하여 필터링을 합니다.
[code html;gutter:false] <!-- 템플릿문서 sample.htm --> <html> <body> This is sample.htm {#SAMPLE_INCLUDE;; postassign {% =|postfilter_assign(); %} }include.htm{/} </body> </html> [/code]
[code php;gutter:false] <?php /** * filename : test.php */ include_once('class.hTemplate.php'); $tpl = new hTemplate; $tpl->define('main', 'sample.htm'); $tpl->assign('MAIN', 'main'); $tpl->output('MAIN'); ?> [/code]
템플릿파일 sample.htm을 test.php 문서로 실행하였을 때 인클루드문 SAMPLE_INCLUDE의 초기값으로 지정된 필터함수 postfilter_assign() 함수는 test.php 문서에서 8번째줄에 있는 asssign() 함수로 템플릿 'main' 을 처리한 결과를 입력값으로 넘겨받아 처리합니다.
[code php;gutter:false] <?php function postfilter_assign($contents, $config) { $contents = str_replace('sample.htm', 'SAMPLE.HTM', $contents); return $contents; } ?> [/code]

'phpsource > 템플릿' 카테고리의 다른 글

{템포2}2.기초다지기  (0) 2008.07.16
{템포2}1.소개  (0) 2008.07.16
{Tempo}6.Download  (0) 2007.09.01
{Tempo}5.Example - Repeat Block  (0) 2007.09.01
{Tempo}4.Class Methods  (0) 2007.09.01
Posted by 방글24