PHP Smarty 사용 방법에 대한 자세한 설명 template_PHP 튜토리얼
1. 템플릿의 댓글
각 Smarty 템플릿 파일은 Smarty 엔진의 구문과 결합된 웹 프런트엔드 언어(xhtml, css, javascript 등)를 통해 개발됩니다.
웹 프론트엔드 개발에 사용된 언어는 원본과 정확히 동일하며 댓글도 변경되지 않았습니다
똑똑한 주석 구문은 '왼쪽 종결자 변수 값*'과 '*오른쪽 종결자 변수 값'입니다. 이 두 구분 기호 사이의 내용은 주석 내용으로, 한 줄 이상 포함될 수 있으며 사용자는 웹 페이지를 탐색하여 볼 수 있습니다. . 원래 코드에는 주석이 표시되지 않으며, 이는 단지 템플릿 내의 주석일 뿐입니다. 다음은 주석의 작은 예입니다.
$smarty->left_lelimiter = '<{';
$smarty->right_delimiter = '}>';
참고: <{* 메모입니다 *}>
코드는 다음과 같습니다 | 코드 복사 | ||||
|
2: 템플릿의 변수 선언
Smarty에서는 모든 것이 변수를 기반으로 하며 모든 프레젠테이션 로직은 템플릿에 의해 제어됩니다
변수에는 여러 가지 유형이 있습니다. 변수 유형은 앞에 붙거나
변수는 직접 출력되거나 직무 속성 및 수식자의 매개변수가 될 수도 있고, 내부 조건식 등에 사용될 수도 있습니다.
<{$name}> <{*일반 유형 변수, 값을 할당하려면 템플릿에서 할당 함수를 호출해야 합니다*}>
;;
>
참고: 템플릿은 PHP에서 할당된 변수만 출력할 수 있습니다. 이 변수는 모두 전역 변수이므로 한 번만 할당하면 됩니다. 변수 내용은 주로 마지막에 할당됩니다.
Smarty에서 제공되는 foreach 또는 section 문은 출력 배열의 각 요소를 반복하는 데 사용됩니다. 인덱스 배열과 연관 배열이 템플릿에서 출력되는 방식은 인덱스 배열이 템플릿에서 액세스되고 PHP 스크립트에서 참조되는 방식과 유사합니다. , 연관 배열의 요소가 템플릿에 지정되는 방식은 '.'을 사용하여 액세스됩니다.
템플릿의 객체에 액세스하는 것은 PHP 스크립트와 동일하며 둘 다 '->' 연산자를 사용합니다.
4: Smarty 템플릿의 변수 수학적 계산
템플릿의 변수에 값을 직접 할당할 수는 없지만 수학 연산에 참여할 수는 있습니다. PHP 스크립트에서 수학 연산을 수행할 수 있으면 아래와 같이 템플릿에 적용할 수 있습니다.
<{$foo 1}> <{* 변수 + 1 *}>
<{$foo * $bar}> <{* 두 변수 곱하기 *}>
<{$foo->bar - $bar[1] * $foo->bar - 3 * 7}> <{* 연산에 참여하는 복합 유형 변수 *}>
<{if($foo 2 == 10)}> <{* 프로그램 로직에 수학적 연산이 적용됩니다 *}>
코드는 다음과 같습니다 | 코드 복사 | ||||
<{$foo 1}> <{* 변수 + 1 *}>
|
큰따옴표 안에 포함된 변수는 Smarty 템플릿에서 인식될 수 있지만 일부 변수는 아래와 같이 백틱 '`'으로 묶어야 합니다(이 기호는 '~'와 동일한 키에 있음).
코드는 다음과 같습니다 | 코드 복사 | ||||
|
<{"test `$foo[0]` test"}<{* 큰따옴표로 묶인 배열 변수 *}>
<{"test `$foo.bar` test"}> <{* 큰따옴표로 묶인 객체 멤버 변수 *}>
1단계: 다음과 같은 Smarty 템플릿 엔진 로드: require 'libs/Smarty.class.php'
2단계: $smarty = new Smarty();
3단계: 캐싱 활성화, 템플릿 저장 경로 등과 같은 Smarty의 기본 동작을 수정합니다.
4단계: 프로그램에서 얻은 데이터를 Smarty 객체의 할당() 메소드를 통해 템플릿의 해당 변수에 할당
5단계: Smarty 객체의 display() 메소드를 사용하여 템플릿 콘텐츠 출력
할당() 메소드
이 방법은 템플릿의 변수에 값을 할당하는 데 사용되므로 사용하기가 더 쉽습니다
프로토타입: void 할당(문자열 변수 이름, 혼합 변수)
이 메소드는 PHP가 지원하는 유형 데이터를 배열 및 객체를 포함한 템플릿 변수에 할당할 수 있습니다
사용방법은 2가지가 있습니다
//'이름/값' 쌍을 지정합니다
$smarty->할당('질문','잘 지내세요');
$smarty->할당('답변','별로 좋지 않음');
//'이름/값'을 포함하도록 지정
$smarty->할당(array('question' => '잘 지내세요','답변' => '별로 좋지 않아요'));//이 방법은 덜 일반적으로 사용됩니다
디스플레이() 메소드
이 방법은 Smarty 기반 스크립트에서 사용해야 하며 스크립트에서 한 번만 사용할 수 있습니다. Smarty 엔진에서 참조하는 템플릿을 가져오고 표시하는 역할을 담당합니다
프로토타입: var display(string template[,string 캐시_id][,string compile_id])
매개변수 1: 템플릿이 필수입니다. 법적 템플릿 리소스의 유형과 경로를 지정하세요.
매개변수 2: 캐시_id는 캐시 식별자의 이름을 지정합니다.
매개변수 3: compile_id는 한 페이지에 여러 캐시를 유지할 때 사용됩니다.
사용방법은 다음과 같습니다
$smarty->display('tpl/template_dir/template.html');
간단한 예
1. libs: Smarty 클래스 라이브러리입니다
2. tpl/cache_dir: 캐시 템플릿 저장
3. tpl/compile_dir: 컴파일된 템플릿 파일을 저장합니다
4. tpl/config_dir: 특수 구성 파일을 저장합니다
5. tpl/template_dir: 템플릿 파일 저장
6. smarty.php 파일에 Smarty 클래스 개체를 새로 만들고 다음 코드와 같이 각 개체의 속성 값을 설정합니다.
'libs/Smarty.class.php' 필요; // Smarty.Class.php 파일 로드
~ >
$ TPL- & GT; site_root.'Template_dir' // 저장 템플릿 파일
$tpl->compile_dir = SITE_ROOT .'compile_dir';//컴파일된 템플릿 파일 저장
$tpl->config_dir = SITE_ROOT .'config_dir';//특수 구성 파일 저장
~ $tpl->cache_dir = 'cache_dir';//Smarty 캐시 파일 저장
$tpl->caching = 1;//캐싱 활성화
$tpl->cache_lifetime = 60*60*24;//캐시 시간 1일
$tpl->left_delimiter = '<{';//왼쪽 종결자
을 통해
코드는 다음과 같습니다 | 코드 복사 | ||||||||||||
7.index.php 파일의 홈페이지 코드는 다음과 같습니다
8.tpl/template_dir/template.html 코드는 다음과 같습니다
~
~
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
![]() 핫 AI 도구![]() Undresser.AI Undress사실적인 누드 사진을 만들기 위한 AI 기반 앱 ![]() AI Clothes Remover사진에서 옷을 제거하는 온라인 AI 도구입니다. ![]() Undress AI Tool무료로 이미지를 벗다 ![]() Clothoff.ioAI 옷 제거제 ![]() Video Face Swap완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요! ![]() 인기 기사
Windows 11 KB5054979의 새로운 기능 및 업데이트 문제를 해결하는 방법
3 몇 주 전
By DDD
KB5055523을 수정하는 방법 Windows 11에 설치되지 않습니까?
2 몇 주 전
By DDD
Inzoi : 학교 및 대학에 지원하는 방법
3 몇 주 전
By DDD
KB5055518을 수정하는 방법 Windows 10에 설치되지 않습니까?
2 몇 주 전
By DDD
Roblox : Dead Rails - Nikola Tesla를 소환하고 패배하는 방법
4 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
![]() 뜨거운 도구![]() 메모장++7.3.1사용하기 쉬운 무료 코드 편집기 ![]() SublimeText3 중국어 버전중국어 버전, 사용하기 매우 쉽습니다. ![]() 스튜디오 13.0.1 보내기강력한 PHP 통합 개발 환경 ![]() 드림위버 CS6시각적 웹 개발 도구 ![]() SublimeText3 Mac 버전신 수준의 코드 편집 소프트웨어(SublimeText3) ![]() 뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
![]() ![]()
자바 튜토리얼
![]() ![]()
Cakephp 튜토리얼
![]() ![]()
라라벨 튜토리얼
![]() ![]()
PHP 튜토리얼
![]() ![]() ![]() PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다. ![]() 숙련된 PHP 개발자라면 이미 그런 일을 해왔다는 느낌을 받을 것입니다. 귀하는 상당한 수의 애플리케이션을 개발하고, 수백만 줄의 코드를 디버깅하고, 여러 스크립트를 수정하여 작업을 수행했습니다. ![]() VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는 ![]() JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적, ![]() 문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다 ![]() 이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다 ![]() 정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다. ![]() PHP의 마법 방법은 무엇입니까? PHP의 마법 방법은 다음과 같습니다. 1. \ _ \ _ Construct, 객체를 초기화하는 데 사용됩니다. 2. \ _ \ _ 파괴, 자원을 정리하는 데 사용됩니다. 3. \ _ \ _ 호출, 존재하지 않는 메소드 호출을 처리하십시오. 4. \ _ \ _ get, 동적 속성 액세스를 구현하십시오. 5. \ _ \ _ Set, 동적 속성 설정을 구현하십시오. 이러한 방법은 특정 상황에서 자동으로 호출되어 코드 유연성과 효율성을 향상시킵니다. ![]() |