1、视图模板的定义
默认的模板定义规则是:
视图目录/控制器名/相应方法名 + 模板后缀(.html)
2、模板的渲染和赋值
ThinkPHP对模板的操作与Smarty模板引擎有许多相似之处,具体使用方法如下
在控制器中进行模板渲染:
方法1
return view('模板文件.html',['模板变量']);
方法2
return $this -> fetch('[模板文件]',['模板变量']);
(模板变量可以是一个数组)
模板赋值
方法1
直接写在上面模板渲染方法中的第二个数组中
方法2
$this -> assign('name',$name);
全局赋值
use think\facade\View;
//赋值全局变量
View::share('name','value');
//批量赋值
View::share(['name1'=>'value1','name2'=>'value2'],...);
3、使用函数
这里使用md5加密函数举例
用法1
{$password|md5}
用法2
{:md5($password)}
5、原样输出
{literal}
Hello,{$world}
{/literal}
6、循环标签
类似Smarty的用法
{foreach $array ar $key => $value}
{$key}:{$vlaue}
{/foreach}
7、条件判断
{if ($num == 1) or ($num == 2)}
value1
{elseif $num == 3 /}
value2
{else /}
value3
{/if}
8、模板继承
类似一个父类,将需要继承的属性包含在{block name = “xxx”}{/block}之中,“子”页面调用相应组件时,使用相同的格式将该组件引入
例如父模板为 father.html
<html>
<head>
<meta charset="utf-8">
<title>
{block name="title"}标题{/block}
</title>
</head>
<body>
{block name="top"}顶部{/block}
{block name="main"}主体{/block}
{block name="left"}左侧{/block}
{block name="right"}右侧{/block}
{block name="foot"}底部{/block}
</body>
</html>
在子模版中使用继承
{extend name="father" /} //继承语句不可省略
{block name="top"}{/block}
{block name="main"}
欢迎
{/block}
{block name="left"}
<a href="www.xxxxx.com">nihao</a>
{/block}
{block name="right"}
<ul>
<li>功能1</li>
<li>功能2</li>
<li>功能3</li>
</ul>
{/block}
{block name="foot"}版权所有 XXXXXX{/block}