普通标签:主要用于输出变量、函数过滤和做一些基本的运算操作
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>