글쓴사람 관리자
글쓴시간2003년 11월 5일 오전 10시 29분 20초
    제목[알림][업데이트] 2.1.0
일단.. 죄송하지만.. 변경사항이 두 가지 있습니다.

빈루프일 때 출력할 내용을 지정하는 명령어가 {: loop_id} 였었는데, 그냥 {:} 로 바뀌었습니다.

그냥 문맥에 의해 if의 else 또는 loop의 else 로 처리됩니다.

전에 루프문법 최적화할 때 같이 변경되었어야 했는데.. 미처 신경을 못썼네요..


두 번째는.. PHP 태그내에서 템플릿 변수를 사용할 수 없게 됐습니다. 일단은 사용할 필요가 없어졌고, PHP 태그내에 주석이 있으면 이 부분의 정확한 해석이 보장되지 않는 문제가 있었습니다.

이 기능을 별로 사용하지 않는다고 들었는데.. 어쨌는 죄송합니다.


===================================


템플릿 태그 내에서.. PHP 함수를 사용할 수 있습니다. (설명서 2-11 참고)

단 PHP 함수를 PHP 문법대로 사용하면 자바스크립트와 충돌하기 때문에 함수를 사용할 때는
{= abc()} 출력명령어를 붙여야 합니다.

"원래 출력명령어가 = 인데 함수를 사용하지 않을 경우 생략할 수 있다" 라고 이해하시면 될 것 같습니다.

표현식 파서를 버전업해서 함수가 중첩되든 배열이 중첩되든 어떤 경우든 자유로운 표현식을 구성할 수 있으며 PHP 오브젝트도 사용할 수 있습니다.

$compile_check 가 true 일 때 전에는 변환파일 전체를 한 번 읽었지만, 헤더만 정확하게 읽어오도록 수정했습니다.

설명서, 레퍼런스페이지도 전부 업데이트 되었고.. 보고되었던 자잘한 버그도 수정했습니다.

전에 iis 에서 PHP 기본출력버퍼가 동작하지 않는다고 했었는데.. iis, fast-cgi 상에서는 잘 되는걸 확인했습니다.

이 설명문은 급하게 작성하느라..  설명할 내용이 더 있으면 추가하도록 하겠습니다.
이준성 플러그인 함수/클래스 작성시 사용법을 설명좀 해주세요...설명서에 있는 내용이 이해가 잘 안가서...^^..초보라서...이해해 주시고 ^^
03-11-05 10:37
기훈 // PHP 태그내에서 템플릿 변수를 ~~~
이거 즐겨 사용했었는데 ㅜㅡ
새로운 {= 이것이 더 좋은 형태이네요~
감사합니다 ^^
그리고 기존에 라이브 러리로 덩치크게 구성했던것을 하나씩 분리해서 적절히 사용하면 정말 괜찮겠네요~
03-11-05 10:49
관리자 플러그인 함수는.. 템플릿클래스와 같은 디렉토리에..

Template_.function.abc.php

파일 만드시고.. 안에다
<?php
function abc($arg1 $arg2...) {
  ...
 return $result;
}
?>
이런식으로 작성해서 저장하신 다음에..

템플릿 파일 내부에서 그냥 사용만 하면 됩니다.

{=abc("hello", xyz.kkk)}
{? abc()==www.zzz.xxx} kkk {/}

플러그인 클래스는.. 가능하지 않습니다. 가능하더라도.. PHP에는 어울리지 않는거 같구요.

오브젝트는 PHP파일에서

$tpl->assign('abc', $kkk);

이렇게 할당해주었을 때..

{=abc->ppp()} {abc->xxx}

이렇게 사용할 수 있는데..

PHP5 에서 쓰면 좋을 거 같네요.
03-11-05 11:02
관리자 기훈님.. 빨리 이해해 주셔서 감사합니다.^^
작업했던거 변경하시려면 손이 많이 가게 될것 같네요^^
03-11-05 11:03
주넌 업데이트 하고나서 '_변수명' 이 안먹는거 같네요.. 제가 잘못한건지..

전역변수 할당생략  
index.php
<?php
include 'Template_.class.php';
$tpl = new Template_;
$tpl->define('index', 'index.tpl');
$apple = "global apple";
$melon = array('red'=>5, 'green'=>10);
$tpl->assign(
   '_apple' =>"this assignment has not effect.",
   'apple'  =>"apple by assignment",
   '_orange'=>"no effect",
   'orange' =>"orange by assignment",
));
$tpl->print_('index');
?>  

위 예제 그대로 가져다 해봐도 안되네요..
결과물이

this assignment has not effect.
apple by assignment
115
no effect

이렇게 나옵니다. 저만 그런가요??

03-11-05 11:11
기훈 아직은 적응이 잘 안되네요
잘 되던것들이 오류를 뿜어내니~
템플릿 언더바 기반으로 허접 게시판 하나 짜놓은거 곧 배포될듯하네요... 그 전에 한번 보여드릴테니 조언도 좀 부탁드립니다 ^^
03-11-05 11:11
관리자 버그네요. 곧 패치하겠습니다.
03-11-05 11:18
주넌 기훈// 와.. 빨리 보고싶군요.. 게시판. 저도 배포전에 보여주심 안될까요? ^^;;

관리자// 감사합니다. 항상 잘 사용하고 있어요~
03-11-05 11:26
관리자 주넌님 버그리포트 감사합니다.
패치되었습니다.
03-11-05 12:06
    이름
비밀번호
 
Since 2003-03-03 hosted on vultr.com