Smarty
Day01----smarty 사용법
기능: php html, 프로그램, 아티스트 분리
사용법:
1. 소스코드 패키지 다운로드
2. 디렉터리 구조
libs
소스코드 파일
Smarty.class.php
template //템플릿 파일 html 파일
template_c //프로그램 실행 중인 프로세스, 자동 생성, 템플릿 컴파일 파일
3. 인스턴스화
require "Smarty.class.php"
$smartyOb=new Smarty()
4. 구성
이 Smarty에게 알려줍니다. 디렉토리는 템플릿 html이 있는 위치입니다.
$smartyOb->setTemplateDir(path);
어떤 디렉토리가 컴파일된 파일이 있는 디렉토리인지 알려줍니다.
$smartyOb->setCompileDir(path)
5. 템플릿 표시
$smartyOb->display("템플릿 이름 및 경로");
템플릿에 값을 전달하는 방법
$smartyOb->sign('템플릿의 이름' , 전달된 변수);
템플릿 템플릿 태그에서
호출 방법
{$name}
Array
{$array name.subscript}
2차원 배열
array(
0= >array('title'=>'t1','pubtime'=>1234567890,'author'=>'xiaoli'),
1=>array( 'title'=>'t2 ','pubtime'=>1334567890,'author'=>'xiaoli'),
array('title'=>'t3','pubtime'=> 1434567890,'author'=> 'xiaoli'),
array('title'=>'t4','pubtime'=>1534567890,'author'=>'xiaoli'),
)
배열 순회
{foreach 배열 이름을 변수 이름으로}
{$변수 이름.제목}
{/foreach}
아래 첨자 값
<{$변수 이름@ key}> <{$ 변수 이름@index}>
루프 수
<{$Variable name@total}>
현재 루프 횟수
< {$Variable name@iteration}>
첫 번째 주기인지
<{$variable name@first}>
마지막 주기인지
<{$변수 이름 @last}>
사례:
인터레이스 배경색 변경 구현
<{if 조건}>
코드
<{/if}>
연습:
마지막 줄을 제외하고 각 li(점선)에 밑줄을 긋습니다.
내용 이해:
<{섹션 이름=s1 루프=탐색할 배열}>
<{ 탐색할 $배열[s1]. 다음 마크}>
<{/section}>
속성:
<{$smarty.section.s1.total}>
<{$smarty.section.s1.index}>
<{$smarty.section.s1.iteration}>
<{$smarty.section.s1.last}>
<{$smarty.section.s1 .first}>
연습:
섹션을 사용하여 대체 행에 대해 서로 다른 배경색 얻기
변수 조절기
템플릿 태그 구분 기호 지정:
<{}> ;
$smartyOb->left_delimiter="<{";
$smartyOb->right_delimiter="}>";
day02------ --, day01의 내용을 복습하고 새로운 지식을 넓혀보세요
Smarty
1. Smarty, php 메인 프로그램에 배치
2. 구성
$smartyOb->setTemplateDir( )
$smartyOb->setCompileDir()
$smartyOb->left_delimiter()
$smartyOb->right_delimiter()
3. 값 전달 템플릿에
$smartyOb-> ;할당("템플릿 변수 이름", 변수);
4. 템플릿 표시
$smartyOb->display(path);
{$name}
{$array.subscript}
{foreach 배열 이름을 변수로 사용}
{$variable name}
{/foreach}
태그 속성:
{$variable name@key}
{$변수 이름@index}
{$변수 이름@iteration}
{$변수 이름@total}
{$변수 이름@first}
{$변수 이름@last}
{if 조건}
{else}
{/if}
변수 조절기:
{첫 번째 매개변수|함수 이름: 두 번째 매개변수:.....}
글 세부정보 페이지:
02_detail.php?id=5
1. smarty 구성
2. 기사 ID 수신
3. pdo 인스턴스화
4. sql 문 철자
5. 실행
6 , 데이터 가져오기
7. 템플릿에 값 전달
8. 템플릿 표시
9. 템플릿 태그 설정 및 기본 프로그램에서 전달한 데이터 사용
페이지
{include 파일 ="템플릿 경로"}
함수 등록
function fun1(){
return 'abc';
}
$smartyOb->registerPlugin(" function","템플릿 함수 이름","등록된 함수 이름");
템플릿 호출:
{템플릿 함수 이름=값 이름=값....}
매개변수를 전달하는 방법은 무엇입니까? ? ?
1. 매개변수 개수는 최대 2개입니다.
첫 번째 매개변수는 템플릿에 전달된 모든 매개변수를 받습니다.
두 번째 매개변수는 현재 smarty 개체를 받습니다.
캐시
데이터베이스의 데이터가 캐시됩니다.
이점: mysql 서버에 대한 부담을 줄입니다.
1. 캐시 파일의 저장 디렉터리를 지정합니다.
$smartyOb->setCacheDir(ROOT."day02/cache") 2. 캐싱을 활성화합니다.
$smartyOb->caching=true;
3. 캐시 수명 주기를 지정합니다.
$smartyOb->cache_lifetime=100;//seconds
기능: 캐시 파일이 존재하고 유효한지 확인
$smartyOb->isCached("템플릿 이름 및 경로",id)
$ smartyOb->display("템플릿 이름 및 경로",id);
위 내용은 --------smarty에 대한 소개로, 몇 가지 측면을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.