smarty
2016-01-19 15:52
232 查看
本文整理来自:http://blog.csdn.net/fkedwgwy/article/details/2437221
一、什么是smarty?
smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目
中显的尤为重要。
二、smarty优点:
1. 速度:采用smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。
2. 编译型:采用smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)
3. 缓存技术:smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定smarty的cache属性为true时,在smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。
4. 插件技术:smarty可以自定义插件。插件实际就是一些自定义的函数。
5. 模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。
三、不适合使用smarty的地方:
1. 需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新,这类型的程序使用smarty会使模板处理速度变慢。
2. 小项目。小项目因为项目简单而美工与程序员兼于一人的项目,使用smarty会丧失php开发迅速的优点。
五、smarty在模板中的使用:
本节通过几个实例来讲一讲smarty的使用。smarty模板通常使用.tpl来标识,有些人为了美工方便,将扩展名直接写成.html,也是可以的。本文中采用smarty标准写法:以.tpl来表示为一个smarty模板。
例子一:
index.php
模板文件./tpl/index.tpl
输出的结果如下:
一、什么是smarty?
smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目
中显的尤为重要。
二、smarty优点:
1. 速度:采用smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。
2. 编译型:采用smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下)
3. 缓存技术:smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定smarty的cache属性为true时,在smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。
4. 插件技术:smarty可以自定义插件。插件实际就是一些自定义的函数。
5. 模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。
三、不适合使用smarty的地方:
1. 需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新,这类型的程序使用smarty会使模板处理速度变慢。
2. 小项目。小项目因为项目简单而美工与程序员兼于一人的项目,使用smarty会丧失php开发迅速的优点。
五、smarty在模板中的使用:
本节通过几个实例来讲一讲smarty的使用。smarty模板通常使用.tpl来标识,有些人为了美工方便,将扩展名直接写成.html,也是可以的。本文中采用smarty标准写法:以.tpl来表示为一个smarty模板。
例子一:
index.php
<?php /* * * @Authors peng--jun * @Email 1098325951@qq.com * @Date 2016-01-19 15:36:01 * @Link http://www.cnblogs.com/xs-yqz/ * @version $Id$ ========================================== */ header("Content-type: text/html; charset=UTF-8"); include_once("./libs/Smarty/Smarty.class.php"); //包含smarty类文件 $smarty = new Smarty(); //建立smarty实例对象$smarty $smarty->template_dir = "./tpl";//设置模板目录 $smarty->compile_dir = "./templates_c"; //设置编译目录 //---------------------------------------------------- //左右边界符,默认为{},但实际应用当中容易与JavaScript //相冲突,所以建议设成<{}>或其它。 //---------------------------------------------------- $smarty->left_delimiter = "{"; $smarty->right_delimiter = "}"; $smarty->assign("name", "李晓军"); //进行模板变量替换 也就是传说中的变量赋值 //编译并显示位于./tpl下的index.tpl模板 $smarty->display("index.tpl"); ?>
模板文件./tpl/index.tpl
{* 显示是smarty变量识符里的用*包含的文字为注释内容 *} {include file="header.tpl"}{*页面头*} 大家好,我叫{$name}, 欢迎大家阅读我的smarty学习材料。 {include file="footer.tpl"}{*页面尾*}
输出的结果如下:
相关文章推荐
- JAVA_NEW和赋值的区别
- Android——点击复制TextView中部分特殊样式字体
- 微型调速气泵KAC050.3样品扼要技术说明
- iOS UI界面之间传值方式的整理总结(2)单例方法
- 关于android native层的Ixxx 接口中Binder机制的探讨
- [boost][caffe] boost::thread_specific_ptr
- PHP SQL数据库
- Genymotion 在win10 下的安装
- 16. 3Sum Closest
- 《C/C++专项练习》 — (3)
- Allegro artwork soldermask顶层和soldermask底层需要出那些信息
- C++之路进阶——splay树(宠物收养所)
- 系统流量变化的原因与微型气泵的关系
- php的socket通信
- 位运算及其应用
- 浅谈Java中的对象和对象引用
- 理解 PHP output buffer
- 致首次创业者:如果做到了这三点,想不成功都难(转)
- 网络编程-UDP程序实例(基础)
- web.xml 中spring-servlet.xml 和 application.xml 配置位置及含义