其实本人也正在学PHP,所以就把学习PHP时的心得体会与所学到的知识分享一下吧,所以这一系列教程(或者是心得吧),将围绕在初学PHP过程中遇到的问题和需要注意的地方。
这是关于PHP中Smarty模板技术的第一编,为什么要说模板技术呢?原因很简单,如果你想做一个合格的PHP程序员的话,如果你想开发一个结构合理、移植方便的系统的话,那就要留意一下PHP的模板技术,而在PHP的模板技术中,Smarty是一个不错的选择。
使用模板化主要有两个原因:1、可以使用同样的代码基为不同的目标生成数据。2、应用程序设计人员(负责创建和维护界面的人)可以与应用程序开发人员独立工作,因为用表现和逻辑并非密不可分地纠缠在一起。但模板化引擎如何完成这种分离?有趣的是,大多数实现的做法与编程语言非常相似,为完成各种与界面有关的任务提供了良好的定义的语法和命令集。
Smarty提供了很多强大的功能。
1、强大的表现逻辑
2、模板编译
3、缓存
4、高度可配置和可扩展
5、安全
如何使用Smarty?
使用Smarty与使用其它任何类库一样。对于初学者,只需要在执行脚本中使Smarty类库可用。实现这一点非常容易,使用 require() 语句即可:
require("Smarty.class.php");
之后,就可以实例化Smarty类:
$smarty = new Smarty;
现在,就可以用Smarty来做东西了。下面看看一个小例子:
以下是模板文件 index.tpl :
1 <html>
2 <head>
3 <title>{$title}</title>
4 </head>
5 <body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">
6 <p>
7 Hi,{$name}.Welcome to the wonderful world of Smarty.
8 </p>
9 </body>
10 </html>
以下是PHP页面方面代码 index.php:
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->assign("name","JiangZone");
$smarty->assign("title","Jiang's Blog");
$smarty->display("index.tpl");
?>
从以上两段代码可以看得到,index.tpl文件是页面文件,没有业务逻辑代码,只有{$name},{$title},初学者可能觉得怪,不过如果有Java基础的话,应该看得出,它跟Jsp的EL表达式有点类似,或者跟标签库功能有点像。这样看上去,页面跟程序逻辑就分开来了,设计师专注于他的页面设计,需要放入处理后的值的话,就加上个{$name}等标记,而程序员则专注于程序逻辑的实现,将处理结果放到模板页面那里相应的变量位置。明眼人可能很快看得出,上面PHP代码里,$smarty->assign("name","JiangZone");就是一个对模板赋值的过程,意为为模板中的变量$name 的值设为字符串“JiangZone”,下面的也是一样,而最后那句,$smarty->display("index.tpl");则是将上面设置好的值应用到index.tpl模板上,并将应用后的结果输出到客户端。
posted on 2008-07-29 13:46
姜大叔 阅读(516)
评论(0) 编辑 收藏 所属分类:
PHP