ThinkPHP 템플릿 변수 출력, 커스텀 함수 및 판단문 사용법

不言
풀어 주다: 2023-03-30 09:06:01
원래의
1845명이 탐색했습니다.

이 글에서는 ThinkPHP 템플릿의 변수 출력, 커스텀 기능, 판단문 사용법을 주로 소개합니다. ThinkPHP 템플릿 작업에 있어 매우 실용적인 기술입니다. 필요한 친구들이 참고하면 됩니다.

이 글에서는 변수 출력, 커스텀 기능 및 예제가 포함된 ThinkPHP 템플릿의 판단문. 사용자 정의 기능 및 판단문의 사용. 여기에는 주로 변수 출력, 사용자 정의 기능 및 판단문의 세 가지 용도가 포함됩니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

템플릿 연산 변수 출력:

빠른 출력 변수

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

{:function(…)} //执行方法并输出返回值
{~function} //执行方法不输出
{@var} //输出Session变量
{#var} //输出Cookie变量
{&var} //输出配置参数  
{%var} //输出语言变量
{.var} //输出GET变量
{^var} //输出POST变量
{*var} //输出常量
로그인 후 복사

템플릿 출력

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

//1 直接调用index操作模板
$this->display();
// 对应Myapp/Tpl/default/Index/index.html
//2 调用Index模块的test1操作模板
$this->display('test1');
//对应Myapp/Tpl/default/Index/test1.html
//2 调用Message模块的test2操作模板()
$this->display('Message:test2');
//对应Myapp/Tpl/default/Message/test2.html
//3 调用XP主题的Message模块的test2操作模板
$this->display('Xp@Message:test2');
//对应Myapp/Tpl/Xp/Message/test2.html
//4 直接指定模板文件的全名
$this->display('../Message/test3.html');
//对应Myapp/Tpl/default/Message/test3.html
로그인 후 복사

판단문 사용

if 태그를 사용하여 복잡한 조건부 판단을 정의할 수 있습니다. 예:

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

<if condition="($name eq 1) OR ($name gt 100) "> value1
<elseif condition="$name eq 2" />value2
<else /> value3
</if>
로그인 후 복사

조건 속성은 eq와 같은 판단 표현식을 지원할 수 있습니다. 위의 비교 태그와 동일하지만 ">", "<"와 같은 기호 사용은 템플릿 구문 분석을 혼란스럽게 하므로 다음 사용법이 잘못되었습니다.

<if condition="$id < 5 "> value1
<else /> value2
</if>
로그인 후 복사


로 변경해야 합니다. 코드 복사 코드는 다음과 같습니다:

<if condition="$id lt 5 "> value1
<else /> value2
</if>
로그인 후 복사

또한 조건 속성에 PHP 코드를 사용할 수 있습니다. 예:

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

<if condition="strtoupper($user[&#39;name&#39;]) neq &#39;THINKPHP&#39; "> ThinkPHP
<else /> other Framework
</if>
로그인 후 복사

조건 속성은 다음을 지원할 수 있습니다. 도트 구문 및 객체 구문(예:
사용자 변수가 배열인지 객체인지 자동으로 확인

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

<if condition="$user.name neq &#39;ThinkPHP&#39; "> ThinkPHP
<else /> other Framework
</if>
로그인 후 복사

또는 사용자 변수가 객체라는 것을 알고 있음

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

<if condition="$user:name neq &#39;ThinkPHP&#39; "> ThinkPHP
<else /> other Framework
</if>
로그인 후 복사

if 태그의 조건 속성은 기본적으로 PHP 구문을 사용하므로 판단 태그와 스위치 태그를 최대한 사용하여 해결하면 더 간결합니다. 스위치 및 비교 태그는 if 태그를 사용하지 마십시오. 스위치 및 비교 태그는 변수 수정자와 시스템 변수를 사용할 수 있기 때문입니다. IF 태그가 여전히 특정 특수 요구 사항을 충족할 수 없는 경우 기본 PHP 코드 또는 PHP 태그를 사용하여 코드를 직접 작성할 수 있습니다.

eq 같음 (==)
neq 같지 않음 (!=)
gt 보다 큼 (>)
egt 크거나 같음 (>=)
lt 작음 (<)
elt 작음 또는 같음 (<=)
heq 항상 같음 (===)
nheq 같지 않음 (!==)
condition 조건
Note
condition 속성 값, 변수에는 $ 기호가 필요하며 이는 다른 변수와 다릅니다. 태그.

사용자 정의 함수 사용 방법

템플릿 변수의 함수 호출 형식: {$varname|function1|function2=arg1, arg2, ###}

사용 예:

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

{$webTitle|md5|strtoupper|substr=0,3} 
{$number|number_format=2} 
{$varname|function1|function2=arg1,arg2,### }
로그인 후 복사

예제는 다음과 같습니다

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

function Cate($cid){ 
$Cate=D(&#39;Cate&#39;); 
$Cate=$Cate->where(&#39;id=&#39;.$cid)->find(); 
return $Cate[&#39;title&#39;]; 
}
로그인 후 복사

템플릿에서 이 함수를 호출하고 싶다면 템플릿에 이렇게 쓰면 됩니다

복사 the code코드는 다음과 같습니다:

{$vo.cid|cate=###}
로그인 후 복사

참고: 사용자 정의 기능이 필요합니다. 프로젝트 애플리케이션 디렉토리/common/common.php에 배치하세요. 여기에 열쇠가 있습니다.

참고:
{와 $ 기호 사이에는 공백이 있을 수 없으며 후속 매개변수에는 공백이 있어도 문제가 없습니다.
###는 템플릿 변수 자체의 매개변수 위치를 나타냅니다.
는 여러 기능을 지원합니다.
기능 지원 보호 기능, 구성 파일에서 금지된 기능 목록을 구성할 수 있습니다.
변수 캐싱 기능을 지원하며 반복되는 변수 문자열은 여러 번 구문 분석되지 않습니다.

관련 권장 사항:

ThinkPHP 템플릿 교체 및 시스템 상수 및 적용 예

위 내용은 ThinkPHP 템플릿 변수 출력, 커스텀 함수 및 판단문 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿