wasup

PHP프레임워크 TEMPLATE_ (템플릿 언더바) 본문

CMS

PHP프레임워크 TEMPLATE_ (템플릿 언더바)

wasupup 2022. 8. 8. 16:03
반응형

1. 환경설정

템플릿언더바는 PHP 4.1.0 이상에서 작동

var $template_dir = '_template';

var $compile_dir = '_compile';

2. 템플릿 태그

{}
<!--{}
{}-->
<!--{}-->

//템플릿 파일 내에서 템플릿엔진이 해석할 위치를 표시함.
//위 네 가지 모두 유효한 템플릿 태그임

3. 템플릿 파일 정의, 템플릿 변수 할당, 출력

//메서드

define() //사용할 템플릿 파일의 아이디를 정의
assign() //템플릿 변수에 값을 할당
print_() //출력
//명령어

= //템플릿변수의 값을 출력 
{= template_variable}

 

템플릿 변수의 네이밍 규칙

한글 사용 가능

'$' 사용 불가

' ' 로 시작하는 템플릿 변수는 별도의 용도를 가짐

 

템플릿 파일을 define()메서드로 정의할 때, $template_dir속성으로부터 상대경로를 지정함.

 


4. 루프

@ //루프의 시작
: //루프가 돌지 않을 때(옵션)
/ //루프의 끝

//사용법
{@ loop_id} //루프의 시작
{:} //루프가 돌지 않을 때(옵션)
{/} //루프의 끝

루프로 할당할 배열을 직접 작성한 경우

index.php

<?php
include 'Template_.class.php';
$tpl = new Template_;
$tpl->define('index', 'index.tpl');
$loop = array(
    array(
        'name' =>'banana',
        'color'=>'yellow',
    ),
    array(
        'name' =>'apple',
        'color'=>'red',
    ),
);
$tpl->assign('list', $loop);
$tpl->print_('index');
?>

index.tpl

<table>
<!--{@ list}-->
<tr><td>{list.name}</td><td>{list.color}</td></tr>
<!--{/}-->
</table>

output

<table>
<tr><td>banana</td><td>yellow</td></tr>
<tr><td>apple</td><td>red</td></tr>
</table>

5. 하위템플릿 인클루드

# //하위템플릿파일 인클루드

//사용법
{# file_id}

https://tpl.xtac.net/tutorial1/

 

Template_

    I. BASIC 목차 1.  환경설정 템플릿언더바는 PHP 4.1.0 이상에서 작동합니다. var $template_dir = '_template';   var $compile_dir  = '_compile'; $compile_dir 은 템플릿언더바가 템플릿파일을 변환하여 저장하는

tpl.xtac.net


5. 표현식

++ -- ?: , >>> 할당연산자 예약어연산자 등을 제외한 연산자를 사용하여 

자바스크립트 문법을 따르는 표현식을 자유롭게 작성

 


6. 이스케이프

\ //템플릿코드를 그대로 출력

예제)

{\@ abc}
{2 + 2}
{\ 2 + 2}
{\\ 2 + 2}
{2 + (2} //형식이 바르지 않은 경우
{\ 2 + (2 }

예제의 결과)

{@ abc}
4
{2 + 2}
{\ 2 + 2}
{2 + (2 }
{\ 2 + (2 }

8. 루프-예약변수

8-1. index_ size_

//예약변수
index_ //0부터 시작, 루프가 반복할 때 1씩 증가

//예약변수 
size_ //루프의 전체 반복 회수
//index.tpl

<div>num of list: { list.size_ }</div>
<!--{@ list}-->
<div>{ list.index_ + start }th. { list.title }</div>
<!--{/}-->



//output

<div>num of list: 3</div>
<div>10th. I Wish..</div>
<div>11th. Love Revolution 21</div>
<div>12th. The Peace</div>



//size_는 해당루프 밖에서 사용 가능
//해당루프 밖에서 사용할 때는 {.size_}처럼 루프 아이디를 생략할 수는 없음

 

8-2. key_ value_

key_ //루프로 할당된 배열의 키
value_ //루프로 할당된 배열의 값
//index.php
<?php
include 'Template_.class.php';
$tpl = new Template_;
$tpl->define('index', 'index.tpl');
$loop = array('apple'=>'red', 'banana'=>'yellow', 30 =>'unknown');
$tpl->assign('fruit', $loop);
$tpl->print_('index');
?>


//index.tpl
<!--{@ fruit}-->
<div>{fruit.index_} - {fruit.key_} - {fruit.value_}</div>
<!--{/}-->
<div>num of fruit: {fruit.size_}</div>


//output
<div>0 - apple - red</div>
<div>1 - banana - yellow</div>
<div>2 - 30 - unknown</div>
<div>num of list: 3</div>

9. 분기 - if

//?, :, /의 의미
? //-> if
: //-> elseif, else
/ //-> endif

//?, :, /의 사용법
{? expression}
{: expression}, {:}
{/}

분기와 분기, 분기와 루프는 자유롭게 중첩하려 사용 가능


10. 배열

배열자체를 하나의 템플릿 변수로 할당할 수 있음.

인덱스배열, 연관배열, 다중배열 모두 가능.

 


https://tpl.xtac.net/tutorial2/

 

Template_

    II. EFFICIENT (1) 5.  표현식 ++ -- ?: , >>> 할당연산자 예약어연산자 등을 제외한 연산자를 사용하여 자바스크립트 문법을 따르는 표현식을 자유롭게 작성할 수 있습니다. { forum.listnum % 2 } { (some.v

tpl.xtac.net


이어진 글-

2022.08.11 - [IT etc] - TEMPLATE_ (템플릿 언더바) / 선언-할당-출력

 

TEMPLATE_ (템플릿 언더바) / 선언-할당-출력

wasup TEMPLATE_ (템플릿 언더바) / 선언-할당-출력 본문 IT etc TEMPLATE_ (템플릿 언더바) / 선언-할당-출력 wasupup 2022. 8. 11. 09:29 Prev 1 2 3 4 5 ··· 326 Next

wasupup.tistory.com

 

반응형
Comments