Smarty模版引擎
来源:互联网 发布:淘宝网围巾专卖 编辑:程序博客网 时间:2024/04/30 23:10
Smarty是一个php模板引擎。更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法。可以描述为应用程序员和美工扮演了不同的角色,因为在大多数情况下 ,他们不可能是同一个人。例如,你正在创建一个用于浏览新闻的网页,新闻标题,标签栏,作者和内容等都是内容要素,他们并不包含应该怎样去呈现。在Smarty的程序里,这些被忽略了。模板设计者们编辑模板,组合使用html标签和模板标签去格式化这些要素的输出(html表格,背景色,字体大小,样式表,等等)。有一天程序员想要改变文章检索的方式(也就是程序逻辑的改变)。这个改变不影响模板设计者,内容仍将准确的输出到模板。同样的,哪天美工吃多了想要完全重做界面,也不会影响到程序逻辑。因此,程序员可以改变逻辑而不需要重新构建模板,模板设计者可以改变模板而不影响到逻辑。
现在简短的说一下什么是smarty不做的。smarty不尝试将逻辑完全和模板分开。如果逻辑程序严格的用于页面表现,那么它在模板里不会出现问题。有个建议:让应用程序逻辑远离模板, 页面表现逻辑远离应用程序逻辑。这将在以后使内容更容易管理,程序更容易升级。
Smarty的特点之一是"模板编译"。意思是Smarty读取模板文件然后用他们创建php脚本。这些脚本创建以后将被执行。因此并没有花费模板文件的语法解析,同时每个模板可以享受到诸如Zend加速器(http://www.zend.com) 或者PHP加速器(http://www.php-accelerator.co.uk)。这样的php编译器高速缓存解决方案。
Smaty的一些特点:
非常非常的快!
用php分析器干这个苦差事是有效的
不需要多余的模板语法解析,仅仅是编译一次
仅对修改过的模板文件进行重新编译
可以编辑'自定义函数'和自定义'变量',因此这种模板语言完全可以扩展
可以自行设置模板定界符,所以你可以使用{}, {{}}, <!--{}-->, 等等
诸如 if/elseif/else/endif 语句可以被传递到php语法解析器,所以 {if ...} 表达式是简单的或者是复合的,随你喜欢啦
如果允许的话,section之间可以无限嵌套
引擎是可以定制的.可以内嵌php代码到你的模板文件中,虽然这可能并不需要(不推荐)
内建缓存支持
独立模板文件
可自定义缓存处理函数
插件体系结构
- Smarty模版引擎
- 模版引擎smarty
- 什么是smarty模版引擎
- PHP 模版引擎Smarty介绍
- Smarty模版引擎的一些基本知识点
- php中smarty模版引擎中的缓存应用!
- php smarty模版引擎中变量操作符及使用方法
- 模版引擎 smarty 怎样工作的 学习感悟 foreach
- 模版引擎 smarty 怎样工作的 学习感悟 foreach
- 在Zend Framework 应用中使用Smarty做模版引擎
- php Smarty模版引擎中引入javascript源文件
- ThinkPHP 3.2.3 Smarty模版引擎 调用$Think系统变量
- SMARTY模版
- smarty模版
- Smarty模版
- Smarty模版引擎 获取各种数据分配给tpl模版文件
- smarty引擎
- php中smarty模版引擎中常用的20个变量操作符及使用方法!
- 在没有安装终端服务的Windows 2012 R2服务器上配置远程桌面的属性
- 浅谈最小生成树的算法思路(一)Prim算法
- Maven学习 (一) 搭建Maven环境
- hdoj4907Task schedule【二分】
- Linux常用命令之三
- Smarty模版引擎
- Gallery和GridView浅析
- 深入理解堆和栈的区别
- 如何拦截Activity的启动(二)
- linux内核模块和驱动程序的编写
- hdu 1712 裸分组背包
- 并行计算之路<3>——CUDA与CPP文件联姻
- C# 提取Word文档中的图片
- MFC模态对话框和非模态对话框