<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # ThinkPHP6.0 視圖 模板引擎支持普通標簽和XML標簽方式兩種標簽定義,分別用于不同的目的. * * * ## ThinkPHP6 視圖 * 模板引擎支持`普通標簽`和`XML標簽`方式兩種標簽定義,分別用于不同的目的 標簽類型描述普通標簽主要用于輸出變量、函數過濾和做一些基本的運算操作XML標簽也稱為標簽庫標簽,主要完成一些邏輯判斷、控制和循環輸出,并且可擴展 ## ?一、運算符? 運算符示例+{$a+$b}-{$a-$b}*{$a*$b}/{$a/$b}%{$a%$b}++{$a++} 或 {++$a}--{$a--} 或{--$a}綜合運算{$a+$b*10+$c}三元運算符{$a==$b ? 'yes' : 'no'} controller文件 > public function index(){ > > ? ? View::assign('a',100); > > ? ? View::assign('b',21); > > ? ? return View::fetch(); > > } view文件 > {$a+$b} > > {$a-$b} > > {$a\*$b} > > {$a/$b} > > {$a%$b} > > {$a++} > > {++$a} > > {$a--} > > {--$a} > > {$c ? '存在' : '不存在'} ## ?二、模版函數? 方法描述date日期格式化(支持各種時間類型)format字符串格式化upper轉換為大寫lower轉換為小寫first輸出數組的第一個元素last輸出數組的最后一個元素default默認值raw不使用(默認)轉義md5md5加密substr截取字符串 * 可以多函數調用 controller文件 > public function index(){ > > ? ? View::assign('time',1576048640); > > ? ? View::assign('num',10.0032); > > ? ? View::assign('str','OUyangKE'); > > ? ? View::assign('arr',\[ > > ? ? ? ? '朱老師', > > ? ? ? ? '歐陽克', > > ? ? ? ? '西門大官人' > > ? ? \]); > > ? ? return View::fetch(); > > } view文件 > {$time|date='Y-m-d H:i:s'} > > {$num|format='%02d'} > > {$str|upper} > > {$str|lower} > > {$arr|first} > > {$arr|last} > > {$default|default="歐陽克"} > > {$str|substr=0,3} > > {$str|md5} > > {$str|lower|substr=0,3} ## 三、循環標簽 * `foreach`標簽的用法和PHP語法非常接近,用于循環輸出數組或者對象的屬性 controller文件 > public function index(){ > > ? ? $arr = \[ > > ? ? ? ? \[ > > ? ? ? ? ? ? 'id' => 1, > > ? ? ? ? ? ? 'name' => '歐陽克' > > ? ? ? ? \], > > ? ? ? ? \[ > > ? ? ? ? ? ? 'id' => 2, > > ? ? ? ? ? ? 'name' => '朱老師' > > ? ? ? ? \], > > ? ? ? ? \[ > > ? ? ? ? ? ? 'id' => 3, > > ? ? ? ? ? ? 'name' => '西門大官人' > > ? ? ? ? \] > > ? ? \]; > > ? ? View::assign('arr',$arr); > > ? ? return View::fetch(); > > } view文件 > {foreach $arr as $v} > > ? ? > > ? ? ? ? ID:{$v\['id'\]} > > ? ? ? ? 姓名:{$v\['name'\]} > > ? ? > > {/foreach} ## 四、volist 循環標簽 * 二維數組的結果輸出 * name 模板賦值的變量名稱 * id 當前的循環變量,可以隨意起名 * key 下標,從1開始,默認變量i * offset 開始行數 * length 獲取行數 * empty 如果數據為空,顯示此文字 view文件 > {volist name="arr" id="v" key="k"? offset="1" length="2"} > > ? ? > > ? ? ? ? ID:{$v\['id'\]} > > ? ? ? ? 姓名:{$v\['name'\]} > > ? ? ? ? 下標:{$k} > > ? ? > > {/volist} ## 五、if 判斷標簽 * `if`標簽的用法和PHP語法非常接近,用于條件判斷 controller文件 > public function index(){ > > ? ? View::assign('status',1); > > ? ? View::assign('order\_status',4); > > ? ? return View::fetch(); > > } view文件 > {if $status == 1} > > ? ? 開啟 > > {/if} > > > > {if $status == 0} > > ? ? 關閉 > > {else/} > > ? ? 開啟 > > {/if} > > > > {if $order\_status == 0} > > ? ? 未支付 > > {elseif $order\_status == 1/} > > ? ? 已支付 待發貨 > > {elseif $order\_status == 2/} > > ? ? 已發貨 待收貨 > > {elseif $order\_status == 3/} > > ? ? 已收貨 待評論 > > {elseif $order\_status == 4/} > > ? ? 已完成 > > {/if} ## 六、switch 判斷標簽 * `switch`標簽的用法和PHP語法非常接近,用于條件判斷 view文件 > {switch $order\_status} > > ? ? {case 0 }未支付{/case} > > ? ? {case 1 }已支付 待發貨{/case} > > ? ? {case 2 }已發貨 待收貨{/case} > > ? ? {case 3 }已收貨 待評論{/case} > > ? ? {case 4 }已完成{/case} > > {/switch} ## 七、包含文件 * `include`標簽,引入模版文件 * `load`標簽,引入資源文件(css、js) view文件,把頭部和尾部分文件 > {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" /} ## 八、其他標簽 1、條件標簽 標簽描述in判斷變量是否存在某些值notin判斷變量是否不存在某些值between&nbsp;判斷變量是否存在某些值notbetween&nbsp;判斷變量是否不存在某些范圍值present&nbsp;判斷某個變量是否 已定義notpresent&nbsp;判斷某個變量是否 未定義empty&nbsp;判斷某個變量是否為空notempty&nbsp;判斷某個變量是否不為空defined&nbsp;判斷某個常量是否 已定義notdefined&nbsp;判斷某個常量是否 未定義 ~~~ 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、比較標簽 標簽描述eq等于neq&nbsp;不等于gt&nbsp;大于egt&nbsp;大于等于lt小于elt&nbsp;小于等于heq&nbsp;恒等于nheq&nbsp;不恒等于 ~~~ 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、循環標簽 標簽描述for計數循環 * start:開始值 * end:結束值 * step:步進值,默認1 * name:循環變量名,默認i ~~~ {for?start="1"?end="50"?step="5"?name="i"} ????{$i}<br/> {/for} ~~~ 4、雜項標簽 標簽描述literal原樣輸出php&nbsp;使用原生php代碼 ~~~ {literal} ????{$name}?這里$name不會被當作變量,而是普通字符 ????{/literal} ????{php} ????echo?'歐陽克'; ????{/php} ~~~ ## 九、示例 controller代碼 > namespace app\\controller; > > use think\\facade\\View; > > class Index{ > > ? ? public function index(){ > > ? ? ? ? $title = '商城'; > > ? ? ? ? $login = '歐陽克'; > > ? ? ? ? $left = \[ > > ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? 'title' => '商品管理', > > ? ? ? ? ? ? ? ? 'lists' => \[ > > ? ? ? ? ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? ? ? ? ? 'id' => 1, > > ? ? ? ? ? ? ? ? ? ? ? ? 'title' => '商品列表', > > ? ? ? ? ? ? ? ? ? ? \], > > ? ? ? ? ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? ? ? ? ? 'id' => 2, > > ? ? ? ? ? ? ? ? ? ? ? ? 'title' => '商品分類', > > ? ? ? ? ? ? ? ? ? ? \] > > ? ? ? ? ? ? ? ? \] > > ? ? ? ? ? ? \], > > ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? 'title' => '用戶管理', > > ? ? ? ? ? ? ? ? 'lists' => \[ > > ? ? ? ? ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? ? ? ? ? 'id' => 3, > > ? ? ? ? ? ? ? ? ? ? ? ? 'title' => '用戶列表', > > ? ? ? ? ? ? ? ? ? ? \], > > ? ? ? ? ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? ? ? ? ? 'id' => 4, > > ? ? ? ? ? ? ? ? ? ? ? ? 'title' => '購物車', > > ? ? ? ? ? ? ? ? ? ? \], > > ? ? ? ? ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? ? ? ? ? 'id' => 5, > > ? ? ? ? ? ? ? ? ? ? ? ? 'title' => '用戶地址', > > ? ? ? ? ? ? ? ? ? ? \], > > ? ? ? ? ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? ? ? ? ? 'id' => 6, > > ? ? ? ? ? ? ? ? ? ? ? ? 'title' => '訂單管理', > > ? ? ? ? ? ? ? ? ? ? \] > > ? ? ? ? ? ? ? ? \] > > ? ? ? ? ? ? \], > > ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? 'title' => '后臺管理', > > ? ? ? ? ? ? ? ? 'lists' => \[ > > ? ? ? ? ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? ? ? ? ? 'id' => 7, > > ? ? ? ? ? ? ? ? ? ? ? ? 'title' => '管理員列表', > > ? ? ? ? ? ? ? ? ? ? \], > > ? ? ? ? ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? ? ? ? ? 'id' => 8, > > ? ? ? ? ? ? ? ? ? ? ? ? 'title' => '個人中心', > > ? ? ? ? ? ? ? ? ? ? \], > > ? ? ? ? ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? ? ? ? ? 'id' => 9, > > ? ? ? ? ? ? ? ? ? ? ? ? 'title' => '左側菜單列', > > ? ? ? ? ? ? ? ? ? ? \] > > ? ? ? ? ? ? ? ? \] > > ? ? ? ? ? ? \] > > ? ? ? ? \]; > > ? ? ? ? $right = \[ > > ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? 'id' => 1, > > ? ? ? ? ? ? ? ? 'title' => '熙世界2019秋冬新款長袖杏色上衣連帽寬松刺繡文藝落肩袖加厚衛衣BF風', > > ? ? ? ? ? ? ? ? 'cat' => '女裝', > > ? ? ? ? ? ? ? ? 'price' => 189, > > ? ? ? ? ? ? ? ? 'discount' => 6, > > ? ? ? ? ? ? ? ? 'status' => 1, > > ? ? ? ? ? ? ? ? // 'status' => '開啟', > > ? ? ? ? ? ? ? ? 'add\_time' => '2019-12-12', > > ? ? ? ? ? ? ? ? // 'add\_time' => '1576080000' > > ? ? ? ? ? ? \], > > ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? 'id' => 2, > > ? ? ? ? ? ? ? ? 'title' => '秋水伊人雙面呢冬裝2019年新款女裝氣質西裝領撞色羊毛大衣外套女', > > ? ? ? ? ? ? ? ? 'cat' => '女裝', > > ? ? ? ? ? ? ? ? 'price' => 699, > > ? ? ? ? ? ? ? ? 'discount' => 7, > > ? ? ? ? ? ? ? ? 'status' => 1, > > ? ? ? ? ? ? ? ? // 'status' => '開啟', > > ? ? ? ? ? ? ? ? 'add\_time' => '2019-12-12', > > ? ? ? ? ? ? ? ? // 'add\_time' => '1576080000' > > ? ? ? ? ? ? \], > > ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? 'id' => 3, > > ? ? ? ? ? ? ? ? 'title' => '微彈中高腰直腳牛仔褲男', > > ? ? ? ? ? ? ? ? 'cat' => '男裝', > > ? ? ? ? ? ? ? ? 'price' => 179, > > ? ? ? ? ? ? ? ? 'discount' => 8, > > ? ? ? ? ? ? ? ? 'status' => 0, > > ? ? ? ? ? ? ? ? // 'status' => '開啟', > > ? ? ? ? ? ? ? ? 'add\_time' => '2019-12-12', > > ? ? ? ? ? ? ? ? // 'add\_time' => '1576080000' > > ? ? ? ? ? ? \], > > ? ? ? ? ? ? \[ > > ? ? ? ? ? ? ? ? 'id' => 1, > > ? ? ? ? ? ? ? ? 'title' => '男士長袖t恤秋季圓領黑白體恤T 純色上衣服打底衫', > > ? ? ? ? ? ? ? ? 'cat' => '男裝', > > ? ? ? ? ? ? ? ? 'price' => 99, > > ? ? ? ? ? ? ? ? 'discount' => 9, > > ? ? ? ? ? ? ? ? 'status' => 1, > > ? ? ? ? ? ? ? ? // 'status' => '開啟', > > ? ? ? ? ? ? ? ? 'add\_time' => '2019-12-12', > > ? ? ? ? ? ? ? ? // 'add\_time' => '1576080000' > > ? ? ? ? ? ? \], > > ? ? ? ? \]; > > ? ? ? ? View::assign(\[ > > ? ? ? ? ? ? 'title'? => $title, > > ? ? ? ? ? ? 'login' => $login, > > ? ? ? ? ? ? 'left' => $left, > > ? ? ? ? ? ? 'right' => $right > > ? ? ? ? \]); > > ? ? ? ? return View::fetch(); > > ? ? } > > } view代碼:head.html > > > > > > > ? ? {$title}--后臺管理系統 > > ? ? > > ? ? > > ? ? > > ? ? ? ? .header{width:100%;height: 50px;line-height: 50px;background: #2e6da4;color:#ffffff;} > > ? ? ? ? .title{margin-left: 20px;font-size: 20px;} > > ? ? ? ? .userinfo{float: right;margin-right: 10px;} > > ? ? ? ? .userinfo a{color:#ffffff;} > > ? ? ? ? .menu{width: 200px;background:#333744;position:absolute;} > > ? ? ? ? .main{position: absolute;left:200px;right:0px;} > > > > ? ? ? ? .layui-collapse{border: none;} > > ? ? ? ? .layui-colla-item{border-top:none;} > > ? ? ? ? .layui-colla-title{background:#42485b;color:#ffffff;} > > ? ? ? ? .layui-colla-content{border-top:none;padding:0px;} > > > > ? ? ? ? .content span{background: #009688;margin-left: 30px;padding: 10px;color:#ffffff;} > > ? ? ? ? .content div{border-bottom: solid 2px #009688;margin-top: 8px;} > > ? ? ? ? .content button{float: right;margin-top: -5px;} > > ? ? > > > > > > ? ? > > ? ? ? ? {$title}--后臺管理系統 > > ? ? ? ? 【{$login}】退出 > > ? ? view代碼:left.html > > > ? ? > > ? ? ? ? {foreach $left as $k=>$left\_v} > > ? ? ? ? ? ? > > ? ? ? ? ? ? ? ? {$left\_v.title} > > ? ? ? ? ? ? ? ? > > ? ? ? ? ? ? ? ? ? ? > > ? ? ? ? ? ? ? ? ? ? ? ? {foreach $left\_v\['lists'\] as $lists\_v} > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? {$lists\_v.title} > > ? ? ? ? ? ? ? ? ? ? ? ? {/foreach} > > ? ? ? ? ? ? ? ? ? ? > > ? ? ? ? ? ? ? ? > > ? ? ? ? ? ? > > ? ? ? ? {/foreach} > > ? ? > > view代碼:bottom.html > > > > > > > ? ? layui.use(\['element','layer','laypage'\], function(){ > > ? ? ? ? var element = layui.element; > > ? ? ? ? var laypage = layui.laypage; > > ? ? ? ? $ = layui.jquery; > > ? ? ? ? layer = layui.layer; > > ? ? ? ? resetMenuHeight(); > > ? ? }); > > ? ? // 重新設置菜單容器高度 > > ? ? function resetMenuHeight(){ > > ? ? ? ? var height = document.documentElement.clientHeight - 50; > > ? ? ? ? $('#menu').height(height); > > ? ? } > > view代碼:index.html > {include file="public/head" /} > > {include file="public/left" /} > > > > ? ? > > ? ? ? ? 商品列表 > > ? ? ? ? > > ? ? > > ? ? > > ? ? ? ? > > ? ? ? ? ? ? > > ? ? ? ? ? ? ? ? ID > > ? ? ? ? ? ? ? ? 商品標題 > > ? ? ? ? ? ? ? ? 分類 > > ? ? ? ? ? ? ? ? 原價 > > ? ? ? ? ? ? ? ? 折扣 > > ? ? ? ? ? ? ? ? 現價 > > ? ? ? ? ? ? ? ? 庫存 > > ? ? ? ? ? ? ? ? 狀態 > > ? ? ? ? ? ? ? ? 添加時間 > > ? ? ? ? ? ? > > ? ? ? ? > > ? ? ? ? > > ? ? ? ? ? ? {volist name="right" id="right\_v"} > > ? ? ? ? ? ? ? ? > > ? ? ? ? ? ? ? ? ? ? {$right\_v.id} > > ? ? ? ? ? ? ? ? ? ? {$right\_v.title} > > ? ? ? ? ? ? ? ? ? ? {$right\_v.cat} > > ? ? ? ? ? ? ? ? ? ? {$right\_v.price} > > ? ? ? ? ? ? ? ? ? ? {$right\_v.discount} > > ? ? ? ? ? ? ? ? ? ? > > ? ? ? ? ? ? ? ? ? ? ? ? {if $right\_v.discount!=0} > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? {$right\_v.price\*($right\_v.discount/10)} > > ? ? ? ? ? ? ? ? ? ? ? ? {else/} > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? {$right\_v.price} > > ? ? ? ? ? ? ? ? ? ? ? ? {/if} > > ? ? ? ? ? ? ? ? ? ? > > ? ? ? ? ? ? ? ? ? ? {$right\_v.stock} > > ? ? ? ? ? ? ? ? ? ? {if $right\_v\['status'\]==1}開啟{else/}關閉{/if} > > ? ? ? ? ? ? ? ? ? ? {$right\_v.add\_time|date='Y-m-d'} > > ? ? ? ? ? ? ? ? > > ? ? ? ? ? ? {/volist} > > ? ? ? ? > > ? ? > > > > {include file="public/bottom" /}
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看