2024年5月1日发(作者:)

SMARTY模板自定义函数

篇一:PHP高级课 Smarty模板笔记整理

Smarty笔记day01

1.什么是模板引擎

模板引擎(这里特指用于Web开发的模板引擎)是为了使用户

界面与业务数据(内容)分离而产生的,它可以生成特定格式

的文档,用于网站的模板引擎就会生成一个标准的HTML文

档。

模板引擎不属于特定技术领域,它是跨领域跨平台的概念。在

Asp下有模板引擎,在PHP下也有模板引擎,在C#下也有,甚

至JavaScript、WinForm开发都会用到模板引擎技术。

2.原理:

模板引擎的实现方式有很多,最简单的是“置换型”模板引

擎,这类模板引擎只是将指定模板内容(字符串)中的特定标

记(子字符串)替换一下便生成了最终需要的业务数据(比如

网页)。

置换型模板引擎实现简单,但其效率底下,无法满足高负载的

应用需求(比如有海量访问的网站),因此还出现了“解释

型”模板引擎和“编译型”模板引擎等。

Smarty模版引擎属于“编译型”模板引擎。

3.用途:

模板引擎可以让(网站)程序实现界面与数据分离,这就大大

提升了开发效率,良好的设计也使得代码重用变得更加容易。

我们司空见惯的模板安装卸载等概念,基本上都和模板引擎有

着千丝万缕的联系。模板引擎不只是可以让你实现代码分离

(业务逻辑代码和用户界面代码),也可以实现数据分离(动

态数据与静态数据),还

可以实现代码单元共享(代码重用),甚至是多语言、动态页

面与静态页面自动均衡(SDE)等等与用户界面可能没有关系

的功能。

4.什么是smarty?

Smarty是采用php写的一个模版引擎,设计的目的是要将php

代码与html代码分离,使php程序员只专注于php代码的编

写,网页美工只专注于网页的美化。

传统的php文件,没有模版引擎时出现的问题?

html中php代码比重越来越大,php与html混编在一起。

页面的数量越来越多

程序设计与美工设计分工不明确

不便于以后的维护和扩展。

模板的优点如下:

速度:相对于其他模板引擎技术而言。

编译型:采用Smarty编写的程序在运行时要编译(组合)成一

个非模板技术的PHP文件,使后续的调用速度更快。

缓存技术:Smarty提供了一种可选择使用的缓存技术,它可

以将用户最终看到HTML文件缓存成一个静态的HTML页。