# 模板文件定义 [TOC] 在Thinkphp中每个模板都是独立的,为了对模板文件更加有效的管理,Thinkphp对模板进行了目录的划分。 模板的定义规则: ``` 视图目录/控制器名称(小写) 方法名称(小写) + 模板的后缀名 <?php class index { function index() { return view(); } } ?> //默认的模板目录view目录 例子:view/index.html 正确的模板定义 必须遵循模板的定义规则 ``` ## 模板渲染 模板渲染的方法很多种,这样看个人的习惯,我比较习惯与view的助手函数 view助手函数的格式: ``` return view('[模板文件]',['模板替换(数组)']) ``` ## 模板布局 Thinkphp的模板引擎内置了布局模板功能,可以方便实现模板布局已经模板嵌套。这样我们就可以把公共的静态资源代码专门放一个模板里面,这样可以避免代码重复也开发更简洁一些。 全局配置方式: ``` return [ 'template' =>[ 'latout_on' =>true, 'layout_name' => 'layout', ]; ]; //零时关闭模板布局 $this->view->engine->layout(false); ``` 在application/模块名称/config.php 加入全局配置,只在此模块中生效。且注意:如果使用了模板布局,在中间位置放一个特殊字符串`{__CONTENT__}`,表示此位置,替换为原始要访问的页面内容,注意:如果开启全局布局,需要在模块目录的view视图目录,创建layout.html布局文件公共文件 ## 其他整合 在文本文件中,各种输出的方式 ``` // 变量输出 {$变量名} // 数组输出 {$变量名.键名} // 输出对象 {$变量名->属性名} // 循环输出 {foreach $变量 as $v} {/foreach} // 条件判断 {if ()} {/if} // 范围判断 {in name='id' value='1,2,3'} {/in} // 函数使用 {$变量名|函数名称} ```