初识smarty

来源:互联网 发布:美国税改最新消息知乎 编辑:程序博客网 时间:2024/04/27 21:17

Smarty:

Smarty是利用php语言中面向对象思想编写的一个将美工与程序之间相分开的模板 

1、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。在模板文件使用判断语句可以非常方便的对模板进行格式重排。

2、下面介绍一下smarty的模板引擎类:

       1)、首先会用到几个文件夹:

                     Templates:存放一些模板文件:

                     Templates_c:存放通过模板中特定的php语句替换后的内容

3、自定义模板引擎类:

       该模板的基本功能包括:

              1)、变量替换

              2)、分支结构

              3)、数组循环遍历

              4)、模板之间相互嵌套等。

类名:MyTpl

              参数:$templates_dir;  指定存放模板文件的位置目录

                       $compile_dir    指定存放编译后的模板文件位置

              构造函数:为成员属性赋值:

             函数1: publicfunction __construct($template_dir = "./templates",$compile_dir ="./templates_c"){

                     $this->template_dir= rtrim($template_dir,"/")."/";

                     $this->complate_dir= rtrim($compile_dir,"/")."/";

                     $this->tpl_vars=array();       为tpl_vars赋值空数组

 

              }

 

            函数2:  将所有传过来的变量保存到变量数组中后面函数用到:publicfunction assign($tpl_var,$value=null){

                     if($tpl_var!=''){

                            $this->tpl_vars[$tpl_var]=$value;

                     }

              }

 

好了今天就学了这些,希望能帮到大家!