Smarty模板的学习_1

新浪网技术部的一道笔试题目

请写出smarty模板的特点:

1.速度快

2.编译型

3.缓存技术

4.插件机制

5.强大的表现逻辑

一.下载一个smarty的模板

地址:  http://www.smarty.net/download

二.如何配置我们的smarty?

1.解压后,把libs文件夹放在网站根目录下。
2.创建两个文件夹 templates(放模板文件) 和templates_c(放编译后的文件)
  *注意:这两个文件名的名字是可以更改的,如下所示
 
即:$smarty -> template_dir = "./templates";//设置模板目录
     $smarty -> compile_dir = "./templates_c";//设置编译目录
     $smarty -> cache_dir = "./smarty_cache";//缓存文件夹
 
最后不要在源代码改动,要改的话就在自己的配置类中改动
三,由于多个文件都要使用自己模板的配置,所以这里可以创建一个smarty模板的配置类,在需要模板php文件中直接引入即可。
  下面是配置smarty模板的类  mine.class.php
<?php

    //创建smarty对象
    require_once './libs/Smarty.class.php';

    $smarty = new Smarty;//建立smarty实例对象$smarty
    $smarty -> caching = false;//是否使用缓存
    $smarty -> template_dir = "./templates";//设置模板目录
    $smarty -> compile_dir = "./templates_c";//设置编译目录
    $smarty -> cache_dir = "./smarty_cache";//缓存文件夹
    //修改左右边界符号
    $smarty -> left_delimiter="<{";
    $smarty -> right_delimiter="}>";

    $smarty -> assign("var1","hello world");//
    $smarty -> display("hello.tpl");//
    
?>
四,在引用自己定义的模板类中,路径建议是使用绝对路径,不要使用相对的路径,这样可以避免找不到模板类
 
 
<?php
    define("ROOT", str_replace("\", "/", dirname(__FILE__))."/");

         //使用了一个魔术变量__FILE__
         //获取文件所在的路径,再去除文件名名   dirname()函数

//因为windows的路劲符号和其他的不一样 ,所以可以需要替换一下 注意这里需要转义符号 , 所以第一个参数是“\”
include ROOT."/libs/Smarty.class.php"; $smarty = new Smarty; // 这是smarty2时期的用法 // $smarty -> template_dir = "./views/"; // $smarty -> compile_dir = "./comps/"; // 以下是smarty3时期用法 $smarty -> setTemplateDir(ROOT."/views/"); $smarty -> setCompileDir(ROOT."/comps/"); // $smarty -> addTemplateDir("./home/"); //就可以让定界符号使用空格 $smarty -> auto_literal = false; //设置定界符号 $smarty -> left_delimiter = "<{"; $smarty -> right_delimiter = "}>";
 
 
原文地址:https://www.cnblogs.com/zhengweizhao/p/6920508.html