smarty待续

来源:互联网 发布:在线学编程的网站 编辑:程序博客网 时间:2024/05/29 09:56

smarty模版引擎的原理就是把纯HTML页面跟PHP程序处理脚本组合在一起,然后生成一个编译后的文件再输出到浏览器上,比如html页面(称为模版文件):

<html><body>   <div id="content">   <{$content}><{*$content 是你在php程序里获取的数据,比如数据库里面取出的数据*}>   </div></body></html>
smarty引擎要做得事情:
通过使用正则表达式把html跟php页面的数据取出,然后进行替换,也就是把php里面的$content里面的内容替换到html里面的<{$content}>,然后在写入一个新的文件里(也就是编译后的文件),然后进行输出到浏览器

smarty不能算是框架,smarty是一个模版引擎,框架归框架,框架是属于别人写好的一些功能类或者方法的组合,简单点说也就是一个半成品,比如thinkPHP,这些才是框架,框架里面可以包含模版引擎,有很多的框架里面包含了smarty引擎

去看看smarty的手册。

Smarty是一个php模板引擎。更准确的说,它分开了逻辑程序和外在的内容,提供了一种易于管理的方法。可以描述为应用程序员和美工扮演了不同的角色,因为在大多数情况下,他们不可能是同一个人。

Smarty总的设计理念就是分离业务逻辑和表现逻辑。

模版在只为表现外在内容而存在的前提下必定包含逻辑。诸如载入其它模版、交替显示表格行颜色、大写变量、循环数据数组并将其显示出来,此谓模版的表现逻辑的例子。

例如,你正在创建一个用于浏览新闻的网页。
* 新闻标题、标签栏、作者和内容等变量都是内容要素,他们并不包含应该怎样呈现的信息。而这些正是Smarty要做的。
* 模板设计者们编辑模板,组合使用html标签和模板标签去格式化这些要素的输出(html表格,背景色,字体大小,样式表,等等)。
* 有一天程序员想要改变文章检索的方式(也就是程序逻辑的改变)。这个改变不影响模板设计者,内容仍将准确的输出到模板。
* 同样的,哪天美工吃多了想要完全重做界面,也不会影响到程序逻辑。
* 因此,程序员可以改变逻辑而不需要重新构建模板,模板设计者可以改变模板而不影响到逻辑。

smarty开发手册学习。