随笔-31  评论-257  文章-0  trackbacks-0
      其实本人也正在学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 姜大叔 阅读(503) 评论(0)  编辑  收藏 所属分类: PHP

只有注册用户登录后才能发表评论。


网站导航: