PHP 웹 기반 MVC 프레임 워 크 의 Smarty 사용 설명

1.Smarty 간단명료 한 튜 토리 얼 1.최신 버 전의 Smarty-3.1.12 를 다운로드 한 다음 에 다운로드 한 파일 을 압축 해제 합 니 다.다음은 Smarty 자체 데모 예 를 보 여 드 리 겠 습 니 다.1)다운로드 주소:http://www.smarty.net/download(2)WEB 서버 루트 디 렉 터 리 에 새 디 렉 터 리 를 만 듭 니 다.여 기 는/var/www 에서 yqting/디 렉 터 리 를 만 든 다음 압축 을 푼 디 렉 터 리 의 demo/와 libs/디 렉 터 리 를/var/www/yqting/디 렉 터 리 에 복사 합 니 다.(3)여 기 는 demo/디 렉 터 리 아래 cache/template 에 각별히 주의해 야 합 니 다.c/두 디 렉 터 리 는 읽 기와 쓰기 권한 으로 설정 해 야 합 니 다.  chmod 777 cache/   chmod 777 template_c/(4)apache 를 시작 합 니 다.브 라 우 저 에 입력http://localhost/yqting/demo/index.php 이렇게 간단 한 Smarty demo 가 실현 되 었 다.2.Smarty 디 렉 터 리 구조(1)는/var/www/yqting 디 렉 터 리 로 분석 을 시작 합 니 다:yqting/├--demo☆├--cache   버퍼 파일 저장 디 렉 터 리☆├--configs    파일 디 렉 터 리 설정☆├--index.php☆├--plugins    사용자 정의 일부 유 틸 리 티 플러그 인☆├-templates    템 플 릿 디 렉 터 리☆└--templatesc   컴 파일 된 파일 저장 디 렉 터 리       ├── debug.tpl   디버그 템 플 릿       ├── plugins    사용자 정의 유 틸 리 티 플러그 인       ├── SmartyBC.class.php    Smarty 2 호 환 지원   ├── Smarty.class.php   Smarty 클래스 정의 파일       └── sysplugins    Smarty 핵심 기능 플러그 인 은 수정 할 필요 가 없습니다(2)자신 이 정의 한 플러그 인 을 추가 할 필요 가 없습니다.상기 디 렉 터 리 구조 에서 가장 핵심 적 인 부분 은 libs/디 렉 터 리 이 며 이 부분 도 수정 할 수 없습니다.플러그 인 을 추가 하려 면 자신 이 정의 한 플러그 인 을 libs/plugins/디 렉 터 리 에 두 는 방법 이 있 습 니 다.다른 방법 은 자신의 plugins/디 렉 터 리 를 따로 만 드 는 동시에 cache/,configs/,templates/와 templates 를 만 드 는 것 입 니 다.c/디 렉 터 리,그리고 cache/와 templatesc/디 렉 터 리 의 읽 기와 쓰기 권한.사실 상기 예 에서 demo/디 렉 터 리 는 자신 이 정의 한 플러그 인 을 포함 하 는 전체 디 렉 터 리 입 니 다.우 리 는 데모/디 렉 터 리 를 참조 하여 자신의 프로그램 을 실현 할 수 있다.3.간단 한 예(1)를 실현 하여/var/www/yqting/에서 디 렉 터 리 weibo/를 만 든 다음 weibo/디 렉 터 리 에 cache/,configs/,templates/와 templates 를 만 듭 니 다.c/디 렉 터 리,cache/와 templates 수정c/디 렉 터 리 의 권한 은 읽 기와 쓰기 입 니 다.(2)새 템 플 릿 파일:index.tpl,이 파일 을/var/www/yqting/weibo/templates 디 렉 터 리 에 놓 습 니 다.코드 는 다음 과 같 습 니 다. Smartyusername:{$Name}이 코드 는 간단 합 니 다.모 르 는 것 이 있 으 면 계속 내 려 다 보 세 요.조급해 하지 마 세 요!디 스 플레이 를 하 는 모든.tpl 파일 은 업무 논 리 를 처리 하 는.php 파일 에 대응 합 니 다.다음은 이.php 파일 을 소개 합 니 다.(3)새 index.php,이 파일 을/var/www/yqting/weibo/아래 에 놓 습 니 다.코드 는 다음 과 같 습 니 다:assign("Name",$username);   $smarty->display('index.tpl');   ?> 그 중에서 require 가 사용 하 는 경 로 는 반드시 정확 해 야 합 니 다.위의 디 렉 터 리 구 조 를 참조 하여 볼 수 있 습 니 다!(4)Smarty 3 에서 Smarty 류 의 구조 함수 에 template 가 지정 되 었 습 니 다.dir、compile_dir 、config_dir 와 cachedir,다시 지정 할 필요 가 없습니다.(5)브 라 우 저 에 입력http://localhost/yqting/weibo/index.php출력 정보 username:Smarty 를 볼 수 있 습 니 다.2.smarty 를 설명 하 는 프로그램 을 볼 수 있 습 니 다.smarty 의 프로그램 부분 은 실제 phop 언어 규범 에 부합 되 는 코드 입 니 다.우 리 는 순서대로 설명 합 니 다.(1)/*/문장:포 함 된 부분 은 프로그램 머리 주석 입 니 다.주요 내용 은 프로그램의 역할,저작권 과 작가 및 작성 시간 에 대한 간단 한 소 개 를 해 야 합 니 다.이것 은 스마트 에 필요 한 것 이 아니 지만 프로그램의 스타일 에 있어 서 좋 은 스타일 입 니 다.  (2)include_once 구문:사이트 에 설 치 된 smarty 파일 을 현재 파일 에 포함 합 니 다.포 함 된 경 로 는 반드시 정확하게 써 야 합 니 다.(3)$smarty=new Smarty():이 문장 은 Smarty 대상$smarty 를 새로 만 들 고 간단 한 대상 의 실례 화 입 니 다.(4)$smarty->templates=":이 문장 은$smarty 대상 이 tpl 템 플 릿 을 사용 할 때의 경 로 를 가리 키 며,이것 은 디 렉 터 리 입 니 다.이 문장 이 없 을 때,Smarty 의 기본 템 플 릿 경 로 는 현재 디 렉 터 리 의 templates 디 렉 터 리 입 니 다.실제 프로그램 을 쓸 때,우 리 는 이 문장 을 명확 하 게 써 야 합 니 다.이것 도 좋 은 프로그램 스타일 입 니 다.  (5)$smarty->templates_c="":이 문장 은$smarty 대상 이 컴 파일 할 때의 디 렉 터 리 를 가리킨다.템 플 릿 디자인 편 에서 저 희 는 Smarty 가 컴 파일 형 템 플 릿 언어 라 는 것 을 알 고 있 습 니 다.이 디 렉 터 리 는 템 플 릿 을 컴 파일 하 는 디 렉 터 리 입 니 다.사이트 가 Liux 서버 에 있다 면 teamplates 를 확보 하 십시오.c 에서 정의 하 는 이 디 렉 터 리 는 읽 을 수 있 는 권한 을 가지 고 있 습 니 다.기본적으로 컴 파일 디 렉 터 리 는 현재 디 렉 터 리 의 templates 입 니 다.c.같은 이유 로 우 리 는 그것 을 명확 하 게 쓴다.(6)구분자$smarty->leftdelimiter 와$smarty->rightdelimiter:템 플 릿 변 수 를 찾 을 때 좌우 분할 자 를 표시 합 니 다.기본 적 인 상황 에서"{"와"}"이지 만 실제 적 으로 는 템 플 릿 에서을 사용 해 야 하기 때문에 Script 의 함수 정 의 는{}을 사용 할 수 밖 에 없습니다.해결 방법 이 있 지만 습관 적 으로 는"{\#"과"\#}"또는""또는 다른 플래그 와 함께 좌우 분할 자 를 정의 한 후 템 플 릿 파일 에 해당 하 는 모든 변 수 를 정의 와 같은 기 호 를 사용 해 야 합 니 다.예 를 들 어 여기 서"<{"와"}>"로 지정 하면 html 템 플 릿 에서 도 해당 하 는{$name}을<{$name}>로 바 꿔 야 프로그램 이 템 플 릿 변 수 를 정확하게 찾 을 수 있 습 니 다.(7)$smarty->cache="./cache":Smarty 가 출력 한 템 플 릿 파일 캐 시 위 치 를 알려 줍 니 다.지난 편 에서 Smarty 의 가장 큰 장점 은 캐 시 를 할 수 있다 는 것 을 알 고 있 습 니 다.여기 가 바로 캐 시 를 설정 하 는 디 렉 터 리 입 니 다.기본적으로 현재 디 렉 터 리 에 있 는 cache 디 렉 터 리 와 templatesc 디 렉 터 리 가 비슷 합 니 다.Liux 시스템 에서 읽 을 수 있 고 쓸 수 있 는 지 확인 해 야 합 니 다.  (8)$smarty->cache_lifetime=60*60*24:여기 서 초 단위 로 캐 시 유효 시간 을 계산 합 니 다.첫 번 째 캐 시 시간 이 만 료 될 때 Smarty 의 caching 변 수 를 true 로 설정 하면 캐 시가 재 건 됩 니 다.이 값 이-1 일 때 만 든 캐 시가 만 료 되 지 않 았 음 을 나타 내 고 0 일 때 프로그램 이 실 행 될 때마다 캐 시가 다시 만 들 어 졌 음 을 나타 낸다.위의 설정 은 cachelifetime 을 하루 로 설정 합 니 다.(9)$smarty->caching=1:이 속성 은 Smarty 가 캐 시 와 캐 시 를 할 지 여 부 를 알려 줍 니 다.이것 은 3 개의 값 을 가 져 올 수 있 습 니 다.0:Smarty 기본 값 은 템 플 릿 에 캐 시 하지 않 음 을 표시 합 니 다.1:Smarty 는 현재 정 의 된 cache 를 사용 합 니 다.lifetime 에서 cache 종료 여 부 를 결정 합 니 다.2:Smarty 는 cache 가 생 성 되 었 을 때 cache 를 사용 할 것 임 을 나타 낸다.lifetime 이라는 값.습관 적 으로 트 루 와 false 를 사용 하여 캐 시 여 부 를 표시 합 니 다.(10)$smarty->assign("name",$username):이 수의 원형 은 assign(string varname,mixed var)이 고,varname 은 템 플 릿 에서 사용 하 는 템 플 릿 변수 이 며,var 는 템 플 릿 변 수 를 교체 할 변수 이름 을 지적 합 니 다.두 번 째 원형 은 assign(mixed var)입 니 다.우 리 는 뒤의 예 에서 이 구성원 함수 의 사용 방법 을 상세 하 게 설명해 야 합 니 다.assign 은 Smarty 의 핵심 함수 중 하나 로 모든 템 플 릿 변 수 를 교체 할 때 사용 해 야 합 니 다.(11)$smarty->display("index.tpl"):이 함 수 는 디 스 플레이(string varname)로 템 플 릿 을 표시 하 는 역할 을 합 니 다.쉽게 말 하면 분석 처 리 된 템 플 릿 을 보 여 줍 니 다.이 템 플 릿 파일 은 경 로 를 추가 하지 않 고 파일 이름 만 사용 하면 됩 니 다.경 로 는$smarty->templates(string path)에서 정의 되 었 습 니 다.프로그램 이 실행 되면 현재 디 렉 터 리 에 있 는 templates 를 열 수 있 습 니 다.c 와 cache 디 렉 터 리 는 아래 에%%%의 디 렉 터 리 가 더 많은 것 을 발견 할 수 있 습 니 다.이 디 렉 터 리 는 Smarty 의 컴 파일 과 캐 시 디 렉 터 리 입 니 다.프로그램 에서 자동 으로 생 성 되 며 생 성 된 파일 을 직접 수정 하지 마 십시오.이상 에서 저 는 간단하게 Smarty 프로그램 에서 자주 사용 하 는 기본 요 소 를 소 개 했 습 니 다.뒤의 예 에서 여러 번 사용 되 는 것 을 볼 수 있 습 니 다.

좋은 웹페이지 즐겨찾기