时间:2021-05-26
ThinkPHP 内置的模板引擎来定义模板文件,以及使用加载文件、模板布局和模板继承等高级功能。
每个模板文件在执行过程中都会生成一个编译后的缓存文件,其实就是一个可以运行的 PHP 文件。
引用自 http://www.kancloud.cn/manual/thinkphp5/118122
PHP
use think\Controller; class test extends Index { public function template (){ $name = 'Jerry'; $allName = [ 0 => "Jerry", 1 => "Tom" ]; $this->assign('nameA',$name); $this->assign('allName',$allName); return $this->fetch('example'); }}
HTML
这样 ThinkPHP 便完成了对页面的解析工作,其中涉及到 模板实例化、定位、赋值、渲染及标签的使用。
视图实例化
暂无
模板赋值
显然在在模板中直接使用 $name 是找不到该变量的。必须使用 assign 方法对模板赋值。在执行渲染输出函数前, assign 方法使 函数内部变量与模板变量建立起映射关系。
$this->assign('name',$name);$this->assign('allName',$allName);通过赋值之后,便可以在模板文件中使用 {$nameA} 来输出该变量了。
模板渲染
当数据已经准备好渲染到页面上,还需要指定 html 文件作为渲染模板,为当前函数执行 fetch 方法时候传入 example 参数。
return $this->fetch('example');模板标签
在模板文件中使用内置标签可以帮助我们在模板中循环、判断变量。它以一对花括号 {tag} {/tag} 作为开标签和闭标签。 { 与 } 之间必须紧跟标签属性或值,存在 空格 和 换行 都不能在渲染时被解析。
volist 标签就是内置标签中的其中一个,通常用来循环某个数组变量。
{volist name="allName" id="vo"} <p data-sub="{$key}" data-index="{$i}">{$vo}</p> {/volist}allName 是通过模板赋值的变量 ,现在可以在模板上直接使用了,显然它是一个数组, volist 标签对它做了循环操作。
volist 标签常用的一些属性:
prop name id key 数组名 当前元素 value allName vo
隐藏在 volist 中的有几个内部变量 {$key} {$i} ,分别代表了 数组下标 和 循环次数 。
内置标签
与 volist 一样好用的内置标签还有很多:
<notempty name=""></notempty> //判断数据是否不为空 不为空则执行声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文分析了让ThinkPHP的模板引擎达到最佳效率的方法。分享给大家供大家参考,具体如下:默认情况下ThinkPHP框架系统默认使用的模板引擎是内置模板引擎。内
本文实例讲述了ThinkPHP在Cli模式下使用模板引擎的方法。分享给大家供大家参考。具体如下:关于Cli模式与模版引擎,2.1中的手册是这样说明的:Cli模式
ThinkPHP支持多种php模板引擎,可以根据个人需要加以配置。下面我们以Smarty模板引擎为例,给大家说说具体的操作流程!首先去Smarty官网上下载一个
ThinkPHP模板引擎的defined标签用于判断常量是否已经被定义。ThinkPHP的defined标签用来判断常量是否已经被定义,其功能相当于PHP中的d
本文较为详细的对ThinkPHP的volist标签嵌套的用法阐述如下:首先,在Thinkphp开发手册中,有关于标签嵌套的解释说明。如下:标签嵌套:模板引擎支持