本文在ThinkPHP模板引擎输出变量的使用进行了分析。
分享给你供你
参考。具体分析如下:
我们已经知道如何使用动作中的赋值
方法为模板变量赋值,赋值之后如何在模板
文件中输出变量的值呢
如果我们在
操作中指定名称模板变量:
复制代码如下:$name = 'thinkphp;
美元->分配('name',$name);
使用内置的模板引擎输出变量,只需要在模板文件中使用:
{ $ }
编译的模板的结果是
复制代码代码如下所示:
最后,我们可以
显示在标签
位置ThinkPHP输出结果,当我们
运行。
发现有模板标签{美元之间没有
空间,否则标签无效。常见的标签
默认标签{是}结束标签,也可以通过
设置tmpl_l_delim和tmpl_r_delim改变。例如,我们在项目
配置文件中定义:
复制代码代码如下:'tmpl_l_delim= >< {,
tmpl_r_delim= >>},
然后,上述变量输出标签应更改为:
以下内容由默认标签定义解释。分配方法中的第一个
参数是模板文件中使用的变量名。如果我们将其更改为以下代码,
复制代码如下:$name = 'thinkphp;
美元->分配('name2,$name);
如果再次使用{ } }输出,它将是无效的。你必须使用{ $ 2 }输出模板变量的值。如果我们需要将
用户数据对象分配给模板变量,
复制代码如下:
用户名= M('name');
$用户= $ >查找(1);
美元->分配(用户,为用户);
也就是说,$用户实际上是一个数组变量,我们可以使用下面的方法输出相关的值:
复制代码代码如下:名称的{ } } { 'name'用户名 / /输出用户
{ } } { 'email'用户名 / /输出用户的电子邮件
地址 如果$用户是一个对象而不是数组。
复制代码如下:用户名= M('name');
$用户>查找(1);
美元->分配(用户,为用户);
关联属性值可以用以下方式输出:
复制代码代码如下:{用户名:用户名/输出用户
{用户:电子邮件输出用户的电子邮件地址
在3.1版本之后,类的属性输出被
调整以
支持本地PHP对象编写,因此上面的标记需要更改为:
复制代码代码如下:{用户名称> >输出用户名称
{用户>电子邮件>输出用户的电子邮件地址
为了方便模板的定义,您还可以支持点语法,例如,上面
复制代码代码如下:名称的{ } } { 'name'用户名 / /输出用户
{ } } { 'email'用户名 / /输出用户的电子邮件地址
可改为
复制代码代码如下:{用户名称}
{ $用户电子邮件}
因为点文法的输出是默认的方式,所以上面的两个方法在没有配置的
情况下是等价的。我们可以通过tmpl_var_identify参数配置决定点语法输出效果。以下列输出为例:{用户名称}
如果tmpl_var_identify设置为数组,然后
{姓名}和{用户名,用户名,{ 'name' } }是等效的,即输出数组变量。
如果tmpl_var_identify设置OBJ,然后
{用户名称}和用户名称}是等价的,也就是输出对象的属性。
如果tmpl_var_identify是空白的,
系统会自动确定输出变量是数组或对象,这种方式会
影响一定的效率,只有二维数组和对象属性。
如果它是多维数组或多层对象属性的输出,可以使用以下定义:
复制代码代码如下:{ $用户。sub.name } / /使用点语法输出
或使用
复制代码代码如下:价值的{ { } {用户名'sub的'name' } } / /输出三维阵列
用户的多级属性:子:名称输出对象
希望本文有助于基于ThinkPHP框架的PHP
程序设计人。