ddxiami

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2366|回复: 2

[细说PHP] 第24章PHP的模板引擎Smarty

[复制链接]
发表于 2013-8-9 14:48:31 | 显示全部楼层 |阅读模式
<?php
        /**
                file: init.inc.php Smarty对象的实例化及初使化文件
        */
        define("ROOT", str_replace("\\", "/",dirname(__FILE__)).'/');//指定项目的根路径
        require ROOT.'libs/Smarty.class.php';                        //加载Smarty类文件         
        $smarty = new Smarty();                                      //实例化Smarty类的对象$smarty

    /* 推荐使用Smarty3以上版本方式设置默认的路径,设置成功后都返回$smarty对象本身,可以使用连贯操作 */
    $smarty ->setTemplateDir(ROOT.'templates/')                  //设置所有模板文件存放的目录
  //                ->addTemplateDir(ROOT.'templates2/')                                 //可以添加多个模板目录(前后台各一个)
            ->setCompileDir(ROOT.'templates_c/')                 //设置所有编译过的模板文件存放的目录
            ->setPluginsDir(ROOT.'plugins/')                     //设置为模板扩充插件存放的目录
            ->setCacheDir(ROOT.'cache/')                         //设置缓存文件存放的目录
            ->setConfigDir(ROOT.'configs');                      //设置模板配置文件存放的目录
                       

        $smarty->caching = false;                                              //设置Smarty缓存开关功能
        $smarty->cache_lifetime = 60*60*24;                                  //设置模板缓存有效时间段的长度为1天
        $smarty->left_delimiter = '{';                                       //设置模板语言中的左结束符
        $smarty->right_delimiter = '}';                                      //设置模板语言中的右结束符

       
回复

使用道具 举报

 楼主| 发表于 2013-8-9 16:51:29 | 显示全部楼层
模板文件test.htm,放在templates目录里面

<html>
        <head>
                <meta http-equiv="Content-type" content="text/html; charset=utf-8">
                <title> {$title} </title>
        </head>
        <body>
                {$content}
        </body>
</html>
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-9 16:51:48 | 显示全部楼层
入口文件:index.php

<?php
        /* 第一步:加载自定义的Smarty初使化文件 */
        require "init.inc.php";                              
        /* 第二步:用assign()方法将变量置入模板里 */                                                      
        $smarty->assign("title", "测试用的网页标题");  
        /* 也属于第二步,分配其他变量置入模板里,可以向模板中置入任何类型的变量 */
        $smarty->assign("content", "测试用的网页内容");         
    /* 利用Smarty对象中的display()方法将网页输出  */                                                
        $smarty->display("test.htm");                                   
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|技术文档库 ( 闽ICP备15017263号-2 )|网站地图

GMT+8, 2025-5-19 00:56 , Processed in 0.035140 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表