ThinkPHP6.0 보기



ThinkPHP6 보기

  • 템플릿 엔진은 普通标签XML标签다양한 목적으로 사용되는 두 가지 태그 정의 방법

태그 유형Description
일반 태그를 지원합니다. 출력 변수용 , 함수 필터링 및 일부 기본 작업
XML 태그는 태그 라이브러리 태그라고도 하며 주로 일부 논리적 판단, 제어 및 루프 출력을 완료하고 확장 가능합니다.

1. 연산자

연산자
+{$a+$b}
-{$a-$b}
*{$a*$ b}
/ {$a/$b}
%{$a%$b}
++{$a++} 또는 {++$a}
-- {$a--} 또는 {--$a}
종합 연산{$a+$b*10+$c}
3항 연산자{$a ==$b '예 ' : '아니요'}

컨트롤러 파일

공용 함수 인덱스(){

View::ass('a',100);

View::ass('b',21);

return View::fetch();

}

파일 보기

<div>{$a+$b}</div>

<div>{$a-$b}</div>

<div> {$a*$b}</div>

<div>{$a/$b}</div>

<div>{$a%$b}</div>

<div>{$a++}</div>

<div>{++$a}</div>

<div>{$a--}</div>

< ;div>{--$a}</div>

<div>{$c ? '존재함' : '존재하지 않음'}</div>

2. 템플릿 기능

메소드 설명
날짜날짜 형식 지정 (다양한 시간 유형 지원)
format문자열 형식 지정
upper대문자로 변환
lower Convert 첫 번째 출력 배열 요소를 소문자로
first 배열의 첫 번째 요소를 출력합니다.
last 배열의 마지막 요소를 출력합니다.
default기본값
raw 사용 안 함(기본값) Escape
md5md5 암호화
substr인터셉트 문자열
  • 여러 함수 호출 가능

컨트롤러 파일

public function index(){

View::ass('time',1576048640);

View::ass('num',10.0032); ㅋㅋㅋ ]);

return View::fetch();

}

파일 보기

<div>{$time|date='Y-m-d H:i:s'}</div> <div>{$num|format='%02d'}</div>

<div>{$str|upper}</div>

<div>{$str|lower }< ;/div>

<div>{$arr|first}</div>

<div>{$arr|last}</div>

<div>{$default| "오우양 케"}</div>

<div>{$str|substr=0,3}</div>

<div>{$str|md5}</div> <div>{$str|lower|substr=0,3}</div>

3. 루프 태그

태그의 사용법은 출력을 루프하는 데 사용되는 PHP 구문과 매우 유사합니다. 배열 또는 객체 속성

controller file

public function index(){

​ $arr = [

​​​​​​​ name' => 'Ouyang Ke'

  • ],

    foreach [i 'id' = & gt; 2,

  • 'name' = & gt; 'Mr. Zhu'

],

[

'id' = & gt; 3,

ㅋㅋㅋ ;/div>

{/foreach}

4. volist loop label

  • 2차원 배열의 결과 출력

  • name 템플릿 할당의 변수 이름

  • id 현재 루프 변수는 원하는 대로 이름을 지정하세요

  • key subscript, 1부터 시작, 기본 변수 i

  • offset 시작 줄 번호

  • length 줄 번호 가져오기

  • empty 데이터가 비어 있으면 이 텍스트를 표시합니다.

파일 보기

{volist name="arr" id="v" key="k" offset="1" length="2"}

<div>

<span>ID : {$v['id' ]}</span>

                                                                                 | 조건부 판단에 사용되는 PHP 구문과 매우 유사

controller file

public function index(){

View::asse('status',1);

    View::ass('order_status', 4);
  • return View::fetch();if 标签的用法和PHP语法非常接近,用于条件判断

controller文件

public function index(){

    View::assign('status',1);

    View::assign('order_status',4);

    return View::fetch();

}

view文件

{if $status == 1}

    <div>开启</div>

{/if}


{if $status == 0}

    <div>关闭</div>

{else/}

    <div>开启</div>

{/if}


{if $order_status == 0}

    <div>未支付</div>

{elseif $order_status == 1/}

    <div>已支付 待发货</div>

{elseif $order_status == 2/}

    <div>已发货 待收货</div>

{elseif $order_status == 3/}

    <div>已收货 待评论</div>

{elseif $order_status == 4/}

    <div>已完成</div>

{/if}

六、switch 判断标签

  • switch

    }

파일 보기

{if $status == 1}

<div>Open</div>

{/if}


{if $status == 0}

<div>off</div>🎜🎜{else/}🎜🎜 <div>on</div>🎜🎜{/if}🎜 🎜
🎜🎜{if $order_status == 0 }🎜🎜 <div>미결제</div>🎜🎜{elseif $order_status == 1/}🎜🎜 <div>배송비 결제</div> ;🎜🎜{elseif $order_status == 2 /}🎜🎜     <div> 배송되었으며 영수증 대기 중</div>🎜🎜{elseif $order_status == 3/}🎜🎜     <div> ;🎜🎜{elseif $order_status == 4/}🎜🎜 <div>완료</div>🎜🎜{/if}🎜🎜🎜 6. 판단 태그 전환🎜🎜🎜🎜전환 태그 사용법 및 PHP 구문은 매우 유사하며 조건부 판단에 사용됩니다🎜🎜🎜🎜파일 보기🎜🎜🎜{switch $order_status}🎜🎜 {case 0}<div>Unpaid</div>{/case}🎜🎜 {case 1}

;div>댓글 접수 및 대기 중</div>{/case}🎜🎜 {case 4}<div>완료됨</div>{/case}

{/switch}

7. 파일 포함

  • include 태그, 템플릿 파일 include 标签,引入模版文件

  • load

load 태그 소개, 리소스 파일(css, js) 소개

파일 보기, 헤더 및 테일 파일 넣기

{include file="public/header" /}


{include file="public/left" /}

{load href="/static/layui/css/layui.css" /}


{load href="/static/layui/layui.js" /}

{include file="public /tail" /}

Eight. 기타 태그1. 조건부 태그 tag 설명in변수에 특정 값이 있는지 판단notin판단하세요 변수 특정 값이 존재하는지 여부 between 변수가 존재하는지 확인 특정 값 ​​notbetween 변수가 존재하지 않는지 확인 특정 범위 값 ​​present 변수가 정의되었는지 확인 존재하지 않음 변수가 정의되지 않았는지 판단empty 변수가 비어 있는지 판단notempty 변수가 비어 있지 않은지 판단정의됨 상수가 정의되었는지 확인notdefine 상수가 정의되지 않았는지 확인
🎜🎜🎜

public function index(){
    View::assign('number',100);
    View::assign('string','');
    return View::fetch();
}
{in name="number" value="99,100,101"}
    number等于99,100,101任意一个值
{/in}
{notin name="number" value="99,100,101"}
    number不等于99,100,101任意一个值
{/notin}
{between name="number" value="1,10"}
    number等于1 到 10 之间的任意一个值
{/between}
{notbetween name="number" value="1,10"}
    number不等于1 到 10 之间的任意一个值
{/notbetween}
{present name="number"}
    number已经定义
{/present}
{notpresent name="n"}
    n还没有定义
{/notpresent}
{empty name="string"}
    name为空值
{/empty}
{notempty name="string"}
    name有值
{/notempty}
{defined name="NAME"}
    NAME常量已经定义
{/defined}
{notdefined name="NAME"}
    NAME常量未定义
{/notdefined}

2. 태그 비교

보다 큽니다. nheq
태그 설명
eq과 같음
neq 은 같지 않음
gt
egt
lt보다 큼
elt보다 작음
heq보다 작거나 같음
아니요 상수
public function index(){
    View::assign("number",100);
    View::assign("string","欧阳克");
    return View::fetch();
}
{eq name="number" value="100"}
    number 等于 100
{/eq}
{neq name="number" value="101"}
    number 不等于 101
{/neq}
{gt name="number" value="33"}
    number 大于 33
{/gt}
{egt name="number" value="100"}
    number 大于等于 100
{/egt}
{lt name="number" value="200"}
    number 小于 200
{/lt}
{elt name="number" value="100"}
    number 小于等于 100
{/elt}
{heq name="string" value="欧阳克"}
    string 恒等于 欧阳克
{/heq}
{heq name="string" value="朱老师"}
    string 恒不等于 朱老师
{/heq}

3. 루프 태그

🎙 step: 단계 값, 기본값 1name: 루프 변수 이름, 기본값 i
{for start="1" end="50" step="5" name="i"}
    {$i}<br/>
{/for}
4, 기타 태그 태그
설명
  • literal
  • 그대로 출력

  • php

    기본 PHP 코드 사용
  • {literal}
        {$name} 这里$name不会被当作变量,而是普通字符
        {/literal}
        {php}
        echo '欧阳克';
        {/php}

    9. 예

    controller code

    namespace appcontroller;

    use thinkfacadeView;

    class Index{

    ​ public function index(){

    ​​ $title = 'Mall';

    ​ $login​ = '오우양 케';

                                                                ​                         ~               ' => '제품 목록',                                                                   ~ ~ ~ ~ > '제목'

                      '제목' => '사용자 주소',

    ㅋㅋㅋ '제목' => '주문 관리',

                                                                                         '제목' => '백엔드 관리',                     '목록' =>                  '제목' => '관리자 목록',

                           ~                                                  . ,

    " "                                    'id' => '열',

                                         ~ ~                                      더베어 슬리브 살구 탑 후드 루즈한 자수 문예 드롭 슬리브 두꺼운 스웨트셔츠 BF 스타일',       '고양이' => '여성 의류',

                '가격' => ,

                                        '할인' >S 'STATUS' = & GT;

    // 'STATUS' = & GT; '공개',

    'add_time' = & gt; '2019-12-12',

    // 'add_time' = & gt; ' 1576080000'

                                                                                                                                                  양면 모직 겨울 의류 2019 신형 여성 의류 기질 정장 칼라 대비 컬러 여성용 울 코트 재킷',

    '고양이' '여성의류',

    '가격' => ; 699,

    '할인' => 7,

    '상태' => 1,

                         // '상태' =>       '추가_시간' => '2019-12- 12', 

                                                                        

                        ~ > >                                       ’- ’ ’ s ’ s- 존재로,                                        

                '할인' 8. t '상태' = & GT 0,

    // '상태' = & GT;

    'add_time' = > '1576080000'

    ],

                                                         > 남성용 긴팔 티셔츠 가을 라운드 넥 흑백 티셔츠 단색상의 및 하의 셔츠 ',

                    '고양이' => '男装',

                    '가격' => 99,

                    '할인' => 9,

                    '상태' => 1,

                    // '상태' => '开启',

                    '추가_시간' => '2019-12-12',

                    // '추가_시간' => '1576080000'

                ],

            ];

            보기::할당([

                'title'  => $title,

                ' 로그인' => $로그인,

                '왼쪽' => 왼쪽,

                '오른쪽' => $right

            ]);

            return View::fetch();

        }

    }

    view代码:head.html

    <!DOCTYPE html> ;

    <html>

    <head>

        <title>{$title}--后台管理系统</title>

        <link rel="stylesheet" type="text/css " href="/static/layui/css/layui.css">

        <script type="text/javascript" src="/static/layui/layui.js"></script>

    <style type="text/css">

            .header{width:100%;height: 50px;line-height: 50px; background: #2e6da4;color:#ffffff;}

            .title{margin- 왼쪽: 20px;글꼴 크기: 20px;}

            .userinfo{float: 오른쪽;여백-오른쪽: 10px;}

            .userinfo a{color:#ffffff;}

            .menu{너비: 200px;배경: #333744;위치:절대;}

            .main{위치: 절대;왼쪽:200px;오른쪽:0px;}


            .layui-collapse{경계: 없음;}

            .layui-colla-item{ border-top:none;}

            .layui-colla-title{배경:#42485b;color:#ffffff;}

            .layui-colla-content{border-top:none;padding:0px;}


            .content 범위{배경: #009688;margin-left: 30px;padding: 10px;color:#ffffff;}

            .content div{border-bottom: solid 2px #009688;margin-top: 8px;}

            .content 버튼{float: right;margin-top: -5px;}

        </style>

    </head>

    <body>

        <div class="header">

            <span class="title"><span style="font-size: 20px;">{$title}</span>--后台管理系统</span>

            <span class="userinfo">【{$login}】<span><a href="javascript:;">退출</a></span></span>

        </ div>

    view代码:left.html

    <div class="menu" id="menu">

        <div class="layui-collapse"lay-accordion>

            {foreach $left as $k=>$left_v}

                <div class="layui-colla-item">

                    <h2 class="layui-colla-title">{$left_v.title}< ;/h2>

                    <div class="layui-colla-content {if $k==0}layui-show{/if}">

                        <ul class="layui-navlayui-nav- tree">

                            {foreach $left_v['lists'] as $lists_v}

                                <li class="layui-nav-item"><a href="index.html"> $lists_v .title}</a></li>

                          {/foreach}

                        </ul>

                   

                </div>

            {/foreach}

        < /div>

    </div>

    view代码:bottom.html

    </body>

    </html>

    <script>

       layui.use(['element','layer','laypage' ], function(){

            var element =layui.element;

            varlaypage =layui.laypage;

            $ =layui.jquery;

            레이어 =layui.layer;

           ();

        }) ;

        // 새로 추가됨设置菜单容器 높이

        function ResetMenuHeight(){

            var height = document.documentElement.clientHeight - 50;

            $('#menu').height(height) ;

        }

    </script>

    view代码:index.html

    {include file="public/head" /}

    {include file="public/left" /}

    <div class=" main" style="padding:10px;">

        <div class="content">

            <span>商product列表</span>

            <div></div>

    </div>

                                                                           

                  <번째>제품명< ;/th> ;

                                                                     t;

    ~ ~ | > $right_v.title}</td>

                                                                                          gt;

                                                    ;{$right_v.discount}</td>

                                 ~        else/}

                                                                                                                                                   

                      <td>{$right_v.stock}</td>

                        <td>{if $right_v['status']==1}开启{else/}关闭{/if}< /td>

                        <td>{$right_v.add_time|date='Y-m-d'}</td>

                    </tr>

                {/volist}

            </tbody>

        </ 테이블>

    </div>

    {include file="public/bottom" /}