>백엔드 개발 >PHP 튜토리얼 >ThinkPHP 템플릿 엔진의 변수 출력 분석

ThinkPHP 템플릿 엔진의 변수 출력 분석

不言
不言원래의
2018-06-08 17:22:441504검색

이 글은 ThinkPHP 템플릿 엔진의 변수 출력 사용법을 주로 소개하고, 변수 출력의 일반적인 사용법과 사용 기술을 분석합니다. 필요한 친구들이 참고할 수 있습니다. 예제와 함께 ThinkPHP 템플릿 엔진의 출력. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

우리는 Action에서 할당 메소드를 사용하여 템플릿 변수에 값을 할당할 수 있다는 것을 이미 알고 있습니다. 할당 후 템플릿 파일에 변수의 값을 출력하는 방법은 무엇입니까?

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

$name = 'ThinkPHP';
$this->assign('name',$name);

내장된 템플릿 엔진을 사용하여 변수를 출력하고 템플릿 파일에서 사용하면 됩니다.

{$name}


템플릿 컴파일 후 결과는

<?php echo($name);?>
입니다.

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

&#39;TMPL_L_DELIM&#39;=>&#39;<{&#39;,  
&#39;TMPL_R_DELIM&#39;=>&#39;}>&#39;,

를 정의합니다.

<{$name}>

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

$name = &#39;ThinkPHP&#39;;
$this->assign(&#39;name2&#39;,$name);

그런 다음 {$name}을 사용하여 Invalid를 출력하고, 템플릿 변수의 값을 출력하려면 {$name2}를 사용해야 합니다. 템플릿 변수에 사용자 데이터 개체를 할당해야 하는 경우:

$User = M(&#39;name&#39;);
$user = $User->find(1);
$this->assign(&#39;user&#39;,$user);

즉, $user입니다. 실제로는 배열 변수이므로 다음 방법을 사용하여 관련 값을 출력할 수 있습니다.

{$user[&#39;name&#39;]}//输出用户的名称
{$user[&#39;email&#39;]} //输出用户的email地址

$user가 배열이 아닌 객체인 경우

$User = M(&#39;name&#39;);
$User->find(1);
$this->assign(&#39;user&#39;,$User);

다음 방법을 사용하여 관련 속성 값을 출력할 수 있습니다.

{$user:name}// 输出用户的名称
{$user:email} // 输出用户的email地址

After 버전 3.1에서는 클래스의 속성 출력 방법이 조정되었습니다. 기본 PHP 객체 작성을 지원하므로 위의 태그를 다음으로 변경해야 합니다.

{$user->name}// 输出用户的名称
{$user->email} // 输出用户的email地址

템플릿 정의를 용이하게 하려면 도트 구문도 지원할 수 있습니다. 위의

{$user[&#39;name&#39;]}// 输出用户的名称
{$user[&#39;email&#39;]} // 输出用户的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.name}
{$user.email}

또는

{$user.sub.name}//使用点语法输出

사용 위 내용이 이 기사의 전체 내용이기를 바랍니다. 더 많은 관련 콘텐츠를 보려면 PHP 중국어 웹사이트를 팔로우하세요!

관련 권장사항:

Laravel 프로그램 아키텍처 설계에서 액션 클래스 사용

ThinkPHP 템플릿 범위 판단 출력 In 태그 및 Range 태그 사용

위 내용은 ThinkPHP 템플릿 엔진의 변수 출력 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.