封装Smarty模板的配置方法

Smarty模板的配置方法是应用Smaty模板的关键,但是用户不能在每次使用Smarty时都写一遍配置文件。这样不仅使服务器增加了负担,更主要的是使程序的可读性变差,为了解决这个问题笔者决定将Smarty的配置方法封装到一个类中,这样可以在需要应用Smarty模板的地方直接调用类文件即可。在本实例中,通过封装的类文件完成Smarty模板的配置,开发一个简单的实例,运行结果如下所示。

实现步骤如下:

(1)下载和安装Smarty类库,本项目中将使用的Smarty类库文件夹libs存储于本堂课的\zmhh\。

(2)在本堂课\zmhh\文件夹下,创建01\system\Smarty文件夹,新建模板文件夹(templates)、编译文件夹(templates_c)、配置文件夹(configs)和缓存文件夹(cache)。

(3)将Smarty配置方法封装到类中,并存储到system.smarty.inc.php文件中。首先,包含Smarty类文件Smarty.class.php然后,定义SmartyProject类,继承Smarty父类。最后,定义SmartyProject()方法,设置Smarty中模板文件(templates)、编译文件(templates_c)、配置文件(configs)和缓存文件(cache)的存储位置。配置文件system.smarty.inc.php的代码如下:

require("../libs/Smarty.class.php");//调用Smarty文件

class SmartyProject extends Smarty{//定义类,继承Smarty父类

function SmartyProject(){//定义方法,配置Smarty模板

$this ->template_dir = "./";//指定模板文件存储在根目录下

$this->compile_dir = "./system/Smarty/templates_c/";//指定编译文件存储位置

$this->config_dir = "./system/Smarty/configs/";

$this->cache_dir = "./system/Smarty/cache/";

}

}

?>

(4)既然已经将Smaryt的配置方法存储到一个类中,那么就需要对类进行实例化,根据返回的对象名称调用Smarty中的方法,类的实例化操作在\system\system.inc.php文件中完成,其返回对象名为$smarty。代码如下:

require("system.smarty.inc.php");//调用类文件

$smarty=new SmartyProject();//执行类的实例化操作

?>

(5)在\zmhh\01\文件夹下创建index.php文件。首先通过include_once语句包含system\sytstem.inc.php配置文件,对Smarty模板引擎进行配置,然后通过Smarty中的assign方法向模板中传递数据,最后通过display方法指定模板页。代码如下:

include_once("system/system.inc.php");

/*使用Smarty赋值方法将一对名称/方法发送到模板中*/

$smarty->assign('title','走进Smarty模板引擎');

/*显示模板*/

$smarty->display('index.html');

?>

(6)在\zmhh\01\文件夹下新建一个index.html静态页,获取Smarty模板变量传递的数据。代码如下:

ttp://w3.org/1999/xhtml">

{$title}

php smarty模板配置,封装Smarty模板的配置方法相关推荐

  1. PHP模板引擎Smarty(一)Smarty下载、配置、一个最简单的应用示例

    一.概述 Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一.它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码 ...

  2. 模板引擎(smarty)知识点总结II

    今天咱们继续来学习smarty!!! 知识点1:对于三种变量 常量的引用 有哪三种变量?a.assign赋值 b.系统保留变量(包括:$smarty.get,$smarty.post,$smarty. ...

  3. php yaf smarty,Yaf 结合用户自定义的视图(模板)引擎Smarty(Yaf + Smarty)

    Yaf 结合用户自定义的视图(模板)引擎Smarty(Yaf + Smarty) 来源:互联网 作者:佚名 时间:2015-08-06 07:55 对完成某个任务进行计时可使用progress_tim ...

  4. php 模板引擎 优点,Smarty模板引擎的优点

    Smarty模板引擎的优点 时间:2015-11-17 对PHP语言熟悉的程序员就会知道有个Smarty的名词,那么这个具体是什么呢?smarty是一个使用PHP编写的PHP模板引擎,是目前业务最著名 ...

  5. php smarty加载失败,smarty模板无法加载如何解决?

    相同的模板,但是test.php可以加载,运行后出结果,但是使用与test.php同一个路径下的commetn.php确提示无法加载模板comment.tpl,请问如何解决?谢谢. 文件路径截图: s ...

  6. php中smarty模板的优点,Smarty模板引擎的优点

    Smarty模板引擎的优点 对PHP语言熟悉的程序员就会知道有个Smarty的名词,那么这个具体是什么呢?smarty是一个使用PHP编写的PHP模板引擎,是目前业务最著名,功能最强大的一种PHP模板 ...

  7. php smarty模板教程,PHP smarty模板入门教程

    include("./www.111com.net/libs/smarty.class.php");  //包含smarty类文件 $smarty = new smarty();  ...

  8. php模板引擎smarty案例下载,PHP – Smarty模板引擎 – Download下载 – 2.6.22 | 学步园...

    PHP - Smarty模板引擎 - Download下载 - 2.6.22 [PHP - Smarty模板引擎 - 官方网站] [PHP - Smarty模板引擎 - 下载地址] http://sm ...

  9. PHP Smarty 模板,php之Smarty模板使用方法示例详解

    本文详细剖析了smarty模板的使用方法,对于学习smarty的朋友有一定的参考价值.详情如下: 一.模板中的注释 每一个Smarty模板文件,都是通过Web前台语言(xhtml,css和javasc ...

最新文章

  1. 19岁「黑客」连续破解25辆特斯拉:远程控制门窗、灯光、音乐,还能直接开走...
  2. 数据结构和算法解析:排序问题简易总结
  3. 海量数据处理:BitMap
  4. iw命令 linux 没有_linux下ifconfig、iwconfig、iwlist命令详解
  5. Spring使用注释
  6. HDU2608 0 or 1
  7. 新手教程:不写JS,在MIP页中实现异步加载数据
  8. python中pip不是内部或外部命令_解决pip不是内部或外部命令
  9. Win10 Nodejs搭建http-server注意点
  10. 软件工程期末复习题库
  11. NSSM的下载与使用
  12. java解析MT940报文,swift MT报文解析处理
  13. CSS 动画 animation
  14. 阿里云国际香港服务器,入手到底行不行?
  15. Ubuntu环境下XAMP安装PHP的rabbitmq扩展
  16. 文件大小单位换算(B-GB)
  17. 【日常点滴016】python游戏库arcade结合Tiled map editor地图编辑器和Pymunk物理引擎制作游戏过程记录,并最终打包为exe文件
  18. Java批量下载并打成压缩包zip格式
  19. 微信浏览器浏览,后台编辑器添加视频
  20. 软件测试面试题之自我介绍

热门文章

  1. for in 和 for of 区别
  2. OpenCV2.4.9源码分析——Support Vector Machines
  3. 一鸣心所向:张一鸣的平常心
  4. python 解决close_wait过多问题
  5. 【新手向】keras如何计算top5
  6. Java毕设项目羽毛球馆场地管理系统计算机(附源码+系统+数据库+LW)
  7. 【商品分类数据集】——RP2K
  8. java的单引号怎么输_单引号怎么打出来-输入单引号的方法 - 河东软件园
  9. 视频聊天室如何成功赚钱分享攻略一
  10. Soul网关进阶使用