ThinkPHP 학습 노트(3) View 레이어 작업
1. 템플릿 변수 설정 및 표시
1. 템플릿 변수 할당
$this->assign('name',$value);
// :
$this->name = $value;
2, 변수 출력$this->display();
3, 페이지 표시{$ }
<body>
<p> :{$username}</p>
<p> :{$userinfo["email"]}</p>
<p> :{$userinfo["regdate"]|date="Y-m-d H:i",###}</p>
</body>
2. Volist 태그 사용 방법
volist 탭은 템플릿에서 데이터 집합이나 다차원 그룹을 순환하는 데 사용됩니다mod:mod에 대한 나머지 $key를 기록합니다:그룹에 대한 key 값을 표시합니다$k:그룹에 대한 순환을 표시하는 횟수offset:5조부터length: 10개의 데이터를 순환합니다
<table>
<volist name="list" id="vo" mod="2" key="k" offset=5 length=10>
<tr<eq name="mod" value="0"> style="background-color:#FFF;"</eq>>
<td>{$k}{$key} </td>
<td>{$k}{$key} </td>
</tr>
</volist>
</table>
다차원 그룹 순환 참조:http://www.5idev.com/p-thinkphp_tpl_volist_nested_loop.shtml 3. foreach 용법
foreach 라벨은volist 라벨만큼 많은 기능이 없습니다. 장점은 대상을 두루 출력할 수 있다는 것입니다.volist 라벨은 보통 출력 그룹에 사용됩니다.
<foreach name="list" id="vo">
:{$vo.username}<br />
:{$vo.email}<br />
:{$vo.regdate|date="Y-m-d H:i",###}
<hr />
</foreach>
4. switch 사용법
name 속성 값은 변수 이름입니다. 즉, $기호가 없습니다.value 값이 변수를 사용할 때 $기호가 필요합니다.case의value 속성은 여러 조건의 동시 판단을 지원하고 | 기호를 사용하여 분할할 수 있습니다
<switch name="uid">
<case value="$adminId"> </case>
<case value="gif|png|jpeg"> </case>
<default />
</switch>
5. thinkphp에서 자주 사용하는 다른 탭
1. 태그 비교
< name=" " value=" "> </ >
예:<eq name="username" value="admin"> </eq>
2. present 태그, notpresent 태그
present 태그는 템플릿 변수에 값이 부여되었는지 판단하는 데 사용됩니다. PHP의 isset () 함수 동작과 같습니다. 형식은 다음과 같습니다.
<present name=" "> </present>
notpresent 라벨,present 라벨의 반의(즉!isset()3. defined 태그, notdefined 태그
<defined name="SITE_NAME"> :{*SITE_NAME}</defined>
이 예는 다음과 같습니다.
<?php
if(defined("SITE_NAME")){
echo ' :',constant("SITE_NAME");
}
?>
4, empty 태그, notempty 태그
<empty name="username">username </empty>
이 예는 다음과 같습니다.
<?php
if(empty($username)){
echo 'username ';
}
?>
empty () 함수에 의하면 다음과 같은 상황에서 얻은 결과는 모두 TRUE입니다. (empty 탭을 사용하면 출력이 있습니다.)
// $x
$x = "";
$x = null;
var $x;
$x = array();
$x = false;
$x = 0;
$x = "0";
5, in 태그, notin 태그
<in name="groupId" value="1,2,3"> </in>
이 예는 다음과 같습니다.
<?php
if(in_array(($groupId), explode(',',"1,2,3"))){
echo ' ';
}
?>
6、if...else 태그
<if condition="($vo['uid'] eq 1) OR ($vo['username'] eq 'admin') ">
<elseif condition="$vo['uid'] gt 1" />
<else />
</if>
condition 속성에는 php 코드를 직접 사용할 수 있습니다. 예를 들어 다음과 같습니다.
<if condition="strtoupper($vo['username']) eq 'ADMIN' ">
<else />
</if>
6. thinkphp의 리디렉션
redirect 메소드 구문은 다음과 같습니다.
$this->redirect(string url, array params, int delay, string msg)
예:class IndexAction extends Action{
public function index(){
$this->redirect('select', array('status'=>1), 3, ' ~');
}
}
리디렉션된 URL은 다음과 같습니다.http://www.5idev.com/index.php/Index/select/status/1
// ,
$this->redirect('select', array('status'=>1));
// , ,
$this->redirect('select', '', 3);
//
$this->redirect('Public/login');
//
$this->redirect('Admin-Public/login');
success()와 error()는 을 통해 3초 간격으로 새로 고침합니다.n-n초 간격
url - 이 주소로 이동
redirect는 PHP 헤더를 사용하여 방향을 바꿉니다.
7. 시스템 변수 가져오기
방법:
$this-> (" ",[" "],[" "])
예:$this->_get("name");// htmlspecialchars($_GET["name"])
$this->_get("name","strip_tags");
$this->_get("id","strip_tags",0);
$this->_get('id',false);// ( )
구성 파일에서 기본 필터링 방법을 설정할 수 있습니다.'DEFAULT_FILTER'=>'htmlspecialchars,strip_tags'
8. 판단 요청 유형
방법
설명
isGet
GET 방식 제출 여부 판단
isPost
POST 방식 제출 여부 판단
isPut
PUT 방식 제출 여부 판단
isDelete
DELETE 방식 제출 여부 판단
isHead
HEAD 커밋 여부 판단
9. 템플릿의 배치
참조:http://doc.thinkphp.cn/manual/layout_template.html1. 레이아웃 템플릿을 포털로 구성하여 LAYOUT_ 열기ON 매개변수(기본적으로 켜지지 않음), 레이아웃 포털 파일 이름 LAYOUT_ 설정NAME(기본값 layout)
전형적인 레이아웃.html 템플릿 작성법:
{__CONTENT__}
프로젝트에 다른 레이아웃 템플릿이 필요한 경우 LAYOUT_ 동적 구성 가능NAME 매개변수 구현일부 페이지에서 레이아웃 템플릿 기능을 사용할 필요가 없는 경우 템플릿 파일 시작 부분에 {_NOLAYOUT__}문자열2. 현재 출력 템플릿을 입구로 하여 템플릿 페이지에 추가
<layout name="layout" />
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.