对于PHPSmarty模板使用实例详解
本文详细分析了Smarty模板的使用,并学习Smarty的朋友有一定的参考价值。详情如下:模板中的注释
每个模板文件是通过Smarty引擎语法通过Web前端语言(XHTML,CSS,Javascript,等)。
Web前台使用的语言与原始语言完全相同,注释没有改变。
注释的语法的左端和右端的**值的变量值两者之间的分隔符内容内容的评论,可以包含一个或多个行,和用户浏览网页看到原代码不会看评论,它只是一个模板内部注释,如下是注释的例子。
Smarty -> left_lelimiter =美元< {;
Smarty -> right_delimiter =美元} >;
uff1a笔记
两。模板中的变量声明
在Smarty,一切取决于变量,所有的渲染逻辑允许模板来控制自己。有几种不同的变量类型,变量的类型取决于它的前缀是什么或什么符号包围。变量可以直接输出或工作功能的性能及改性剂或内部条件表达式的参数,等等。
>
如果在Smarty模板从PHP变量的输出分配,在变量前需要加$符号和附上的分隔符,命名和PHP变量命名、定界符号,有点像是在PHP(事实上他们真的将取代本)
三。在模板中从PHP输出变量
有两个变量,通常用在Smarty模板:一个是从PHP变量;另一个是变量从配置文件读取。
注:模板只能被分配从PHP的输出变量,不能被重新分配到这些变量在模板。变量都是全局的,只要分配一次,如果分布超过两次,变量将被分配为最后一个变量。
在Smarty,foreach或部分输出数组中的每个元素的遍历语句、索引和关联数组的模板输出的方式略有不同,索引数组访问的模板和参考在PHP脚本是在模板中指定的元数据关联数组元素是用于访问相同。。
同样的访问对象和模板中的PHP脚本,完成由->运算符。
在四和Smarty模板变量的数学计算
在模板中,变量不能直接赋值,但它们可以参与数学运算。只要我们能在PHP脚本中执行数学运算,它们就可以应用于模板中。
条形图$ bar { 1 } * $ bar bar - 3 * 7 }
你可以识别嵌入在模板smarty变量双引号,但一些变量必须使用反引号(' `这个符号~在相同的键)包,如下图所示:
五、Smarty模板使用的例子:
第一步:加载Smarty模板引擎,如require'libs / Smarty。类。php
第二步:创建Smarty对象,如:美元=新的Smarty Smarty();
第三步:修改Smarty默认的行为,如:打开缓存,模板的存储路径,等等
第四步:分配通过分配在模板中的相应变量的程序获得的数据()的Smarty对象的方法
第五步:输出与显示模板的内容()的Smarty对象的方法
赋值()方法:
此方法用于在模板中为变量赋值,使用起来更容易。
原型:无效分配(串Varname,混合变量)
此方法将PHP支持的类型数据分配给模板变量,以包含数组和对象。
有两种使用它的方法如下:
要指定一个 name 值' '
Smarty美元->分配('question ','你好');
Smarty美元->分配(回答、不太好);
包含指定的名称
Smarty美元->分配(阵列('question ' =回答= > '你好','坏')); / /这样少
显示()方法:
这种方法必须使用一个基于Smarty的脚本,它只能使用一次,在一个脚本,负责获取并显示模板的引用Smarty引擎
原型:VaR(字符串模板{,} { cache_id字符串,字符串compile_id })
参数:模板是必需的,指定有效模板资源的类型和路径。
两参数:cache_id指定一个缓存标识符的名称
参数三:compile_id用于保持多个缓存页面上
该方法的使用如下
Smarty美元->显示('tpl / / template_dir模板。HTML);
简单的例子:
1、LIBS:Smarty类库
2、物流/ cache_dir:存储缓存模板
3、物流/ compile_dir:存储编译后的模板文件
4、物流/ config_dir:存储特定的配置文件
5、物流/ template_dir:存储模板文件
6、smarty.php文件新出一类smarty对象,并设置每个对象的属性值,下面的代码
< PHP
require'libs / Smarty。类。php; / / smarty.class.php文件
定义('site_root '、'。 /物流/ '); / /定义常数
物流=新的Smarty(美元);
三美元-> template_dir = site_root。'template_dir '; / /保存模板文件
site_root。三美元-> compile_dir = 'compile_dir '; / /保存编译后的模板文件
三美元-> config_dir = site_root。'config_dir '; / /保存特殊配置文件
三美元-> cache_dir = site_root。'cache_dir '; / / Smarty是存储在缓存中的文件
第三方缓存>缓存= 1
三美元-> cache_lifetime = 60×60×24; / /缓存时间1天
三美元-> left_delimiter =< { '; / /左端
TPL -> right_delimiter =美元} >; / /右端
7、文件index.php页面代码如下
< PHP
require'smarty PHP的;
三美元->分配(标题,标题测试);
三美元->分配('content',内容测试);
三美元->显示('template .html);
8、物流 / / template_dir template.html这个模板文件的代码如下