普通標簽:主要用於輸出變量、函數過濾和做一些基本的運算操作
XML標簽:也稱為標簽庫標簽,主要完成一些邏輯判斷、控制和循環輸出,並且可擴展。
一 、普通標簽
1、普通標簽標記
config/view.php文件里的tpl_begin和tpl_end設置普通標簽標記
2、模板系統變量
系統變量則不需要賦值,直接在模板做使用
支持輸出$_SERVER $_ENV $_POST $_GET $_REQUEST $_SESSION $_COOKIE
直接 在view里使用
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <h2>{$_SERVER.HTTP_HOST}</h2> </body> </html>
3、模板函數
namespace app\controller; use app\BaseController; use think\facade\View; class Index extends BaseController { public function index() { $data=[ 'pwd' =>'123546', 'time'=>'1561016803', 'number'=>1525463, 'up'=>'kilisa', 'lo'=>'kssss', 'arr'=>[ 'kilisa'=>'滑板鞋', 'kssss'=>'卡薩丁', 'trace'=>'傑斯' ], 'sub'=>'德萊文' ]; View::assign($data); return View::fetch(); } }
4、模板原樣輸出
可以使用literal標簽來防止模板標簽被解析
{literal} Hello.{$name}! {/literal}
上面的{$name}標簽被literal標簽包含,因此並不會被模板引擎解析,而是保持原樣輸出。
literal
標簽還可以用於頁面的JS代碼外層,確保JS代碼中的某些用法和模板引擎不產生混淆。
總之,所有可能和內置模板引擎的解析規則沖突的地方都可以使用literal
標簽處理。
5、模板注釋
6、模板包含文件
要在view里創建一個public文件,
7、foreach循環標簽
php示例 namespace app\controller; use app\BaseController; use think\facade\View; class Index extends BaseController { public function index() { $data=[ ['id'=>1,'name'=>'德萊文'], ['id'=>2,'name'=>'德萊厄斯'], ['id'=>3,'name'=>'諾手'] ]; View::assign('data',$data); return View::fetch(); } }
html示例 </head> <body> {foreach $data as $key =>$value} <div> key:{$key}--- id:{$value.id}--- 姓名:{$value['name']} </div> {/foreach} </body> </html>
VOLIST標簽
name 要循環的數組
id 循環賦值
key 下標
offset 開始位置
length 循環長度
html示例 <body> <!--foreach下表是從0開始的--> {foreach $data as $key =>$value} <div> key:{$key}--- id:{$value.id}--- 姓名:{$value['name']} </div> {/foreach} <!--volist的下表是從1開始的--> {volist name="data" key="key" id="value"} <div> key:{$key}--- id:{$value.id}--- 姓名:{$value['name']} </div> {/volist} {volist name="data" key="key" id="value" offset="1" length="2"} <div> key:{$key}--- id:{$value.id}--- 姓名:{$value['name']} </div> {/volist} </body> </html>
FOR標簽
start 開始值
end 結束值
step 步進值
name 循環 變量名
html示例 <body> {for start="1" end="100" step="4" name="a"} <div>{$a}</div> {/for} </body> </html>