헤에..^^;
함수 호출 기능이 추가되었네요. 이 기능이 이해가 안가서 몇번을 생각해 본끝에! 드디어 이해가 갔네요;
그러니까 이렇게 되는게 맞죠?
[PHP 코드]
<?
$tpl->assign(array(
'subject'=>'제목....주루룩...'
));
?>
[템플릿 코드]
<div>
<b><?=substr({:: subject}, 0, 5)?></b>
</div>
이거라면 이렇게도 가능하죠?
[템플릿 코드]
<div>
<b><?=substr("{subject}", 0, 5)?></b>
</div>
한가지 딴지라면...
{:: } 와 같은 방법이라면 굳이 {:: } 가 없어도 될것 같은 생각이 드네요.
제가 템플릿에서 PHP 코드가 되는걸 좀더 일찍 알았더라면 ^^;;
그런데, 템플릿에 PHP 코드를 넣는것도 좋지만 제 생각엔 역시 뼈와살을 분리해야 하지 않을까 생각합니다.
템플릿의 기본 개념은 PHP 코드와 HTML 테그의 즉, 프로그램부분과 디자인부분의 완전한 분리이죠. 그렇다면 템플릿 코드는 디자이너만 만지는 부분.
여기에 착안해서 생각해보면 템플릿 코드에 함수 호출에는 극히 제한적일 수 있습니다.
예를들어,
[ 날짜 포멧 | 문자열 길이 | 문자열 포멧 ]
대략 이정도겠죠.
그럼 아예 범용적으로 PHP 함수를 지원하기 보다 간단한 테그를 사용해서 값을 사용할 수 있도록 하면 더욱 좋을것 같습니다.
예를들어...
문자열 길이 자른다면
[PHP]
<?
$tpl->assign(array(
'subject'=>'제목 테스트 예제... 길게길게...'
));
?>
[TPL]
<div>
<b>{:: subject 10}</b>
{/div>
이런식으로 해서 사용할 수 있다면 더욱 좋을것 같습니다.
{:: } 을 한가지 기능만 하기엔 남은 특수문자들이 아까울것 같구요. 사용자도 헷갈릴것 같고;;
{:: 변수명 값 처리모드}
ex.
{:: subject 10 max} - 문자열 자르기
{:: timestamp "Y-m-d" date} - 날짜 변환
등등...
기본 언더바 템플릿 코드들 형식에 맞을런지...
늦은 새벽에 이것저것 머리 굴려가면서 한번 생각해본것인데 어떨런지요. ^^;;;
많은 의견 부탁드립니다.
언더바 코드를 보고 저도 스마티 하게 짜보고도 싶고...^^ 의욕에 불타네요.
앞으로도 기본에 충실한 빠른 템플릿이 되길 바랍니다. :)
|