ThinkPHP 템플릿engine_php 예제의 변수 출력에 대한 자세한 설명

WBOY
풀어 주다: 2016-05-16 20:28:58
원래의
1031명이 탐색했습니다.

이 글에서는 ThinkPHP 템플릿 엔진의 변수 출력 사용법을 예제를 통해 분석합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

우리는 Action에서 할당 메소드를 사용하여 템플릿 변수에 값을 할당할 수 있다는 것을 이미 알고 있습니다. 할당 후 템플릿 파일에 변수 값을 어떻게 출력합니까?

Action에서 이름 템플릿 변수를 할당하는 경우:

코드 복사 코드는 다음과 같습니다.
$name = 'ThinkPHP';
$this->할당('이름',$name);

내장된 템플릿 엔진을 사용하여 변수를 출력하고 템플릿 파일에서 사용하세요.
{$name}

템플릿 컴파일 후의 결과는

코드 복사 코드는 다음과 같습니다.

마지막으로 실행하면 라벨 위치에 ThinkPHP의 출력 결과가 표시됩니다. 템플릿 라벨에는 {와 $ 사이에 공백이 있으면 안 됩니다. 그렇지 않으면 라벨이 유효하지 않게 됩니다. 일반 태그의 기본 시작 태그는 {이고, 종료 태그는 }입니다. TMPL_L_DELIM 및 TMPL_R_DELIM을 설정하여 변경할 수도 있습니다. 예를 들어 프로젝트 구성 파일
에서 정의합니다.

코드 복사 코드는 다음과 같습니다.
'TMPL_L_DELIM'=>'<{',
'TMPL_R_DELIM'=>'}>',

그런 다음 위의 변수 출력 레이블을 다음으로 변경해야 합니다.

<{$name}>

기본 태그 정의를 사용하여 다음 내용을 설명하겠습니다. 할당 메소드의 첫 번째 매개변수는 템플릿 파일에서 사용되는 변수 이름입니다.

코드 복사 코드는 다음과 같습니다.
$name = 'ThinkPHP';
$this->할당('name2',$name);

{$name}을 다시 사용하면 출력이 유효하지 않게 됩니다. 템플릿 변수에 사용자 데이터 개체를 할당해야 하는 경우에는 {$name2}를 사용해야 합니다.
코드 복사 코드는 다음과 같습니다.
$User = M('name');
$user = $User->find(1);
$this->할당('사용자',$user);

즉, $user는 실제로 배열 변수입니다. 다음 방법을 사용하여 관련 값을 출력할 수 있습니다.
코드 복사 코드는 다음과 같습니다.
{$user['name']}//사용자 이름 출력
{$user['email']} //사용자의 이메일 주소 출력

$user가 배열이 아닌 객체인 경우
코드 복사 코드는 다음과 같습니다.
$User = M('name');
$User->find(1);
$this->할당('사용자',$User);

다음 방법을 사용하여 관련 속성 값을 출력할 수 있습니다.
코드 복사 코드는 다음과 같습니다.
{$user:name}// 사용자 이름 출력
{$user:email} // 사용자의 이메일 주소 출력

버전 3.1 이후에는 클래스 속성 출력 방법이 기본 PHP 객체 작성을 지원하도록 조정되었으므로 위 태그를 다음으로 변경해야 합니다.
코드 복사 코드는 다음과 같습니다.
{$user->name}// 사용자 이름 출력
{$user->email} // 사용자의 이메일 주소 출력

템플릿 정의를 용이하게 하기 위해 점 구문도 지원될 수 있습니다. 예를 들어 위의
코드 복사 코드는 다음과 같습니다.
{$user['name']}// 사용자 이름 출력
{$user['email']} // 사용자의 이메일 주소 출력


로 변경 가능
코드 복사 코드는 다음과 같습니다.
{$user.name}
{$user.email}

도트 구문의 기본 출력은 배열 모드이므로 위의 두 가지 방법은 구성 없이 동일합니다. TMPL_VAR_IDENTIFY 매개변수를 구성하여 도트 구문의 출력 효과를 확인할 수 있습니다. {$ user.name}

TMPL_VAR_IDENTIFY가 배열로 설정된 경우

{$user.name}은 출력 배열 변수인 {$user['name']}과 동일합니다.

TMPL_VAR_IDENTIFY가 obj로 설정된 경우

{$user.name}은 출력 개체의 속성인 {$user:name}과 동일합니다.

TMPL_VAR_IDENTIFY를 비워 두면 출력할 변수가 배열인지 객체인지 시스템이 자동으로 판단합니다. 이 방법은 어느 정도 효율성에 영향을 미치며 2차원 배열 및 2단계 객체 속성만 지원합니다. .

다차원 배열이나 다층 객체 속성의 출력인 경우 다음 정의 방법을 사용할 수 있습니다.

코드 복사 코드는 다음과 같습니다.
{$user.sub.name}//점식 구문을 사용하여 출력합니다.

또는
을 사용하세요.

코드 복사 코드는 다음과 같습니다.
{$user['sub']['name']}/ / 3D 배열 값 출력
{$user:sub:name}// 객체의 다중 레벨 속성 출력

이 기사가 ThinkPHP 프레임워크를 기반으로 하는 모든 사람의 PHP 프로그래밍에 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!