smarty使用文档操作(上).docxVIP

  • 4
  • 0
  • 约7.08千字
  • 约 25页
  • 2025-06-09 发布于广东
  • 举报

模板引擎——Smarty上

目录

TOC\o1-3\h\z\u模板引擎——Smarty上 1

一、模板引擎 2

1、什么是模板引擎 2

2、模板引擎原理 3

3、封装一个小型的模板引擎 4

二、Smarty模板引擎 5

1、什么是Smarty模板引擎 5

2、下载安装Smarty 5

3、为什么要选择Smarty 6

4、使用Smarty 6

5、编译原理 8

6、smarty执行流程 10

7、smarty几个常用属性与方法 10

三、设计篇 12

一、模板引擎

1、什么是模板引擎

模板引擎,是指利用某种模板语言将页面制成模板,再依据业务逻辑将该模板语言翻译成业务数据,从而生成最终展示页面。其目的就是要把页面与业务数据实现彻底分离。

我们在很多地方都可以看到模板引擎的身影,比如各种CMS、论坛、代码生成器,甚至是Mootools、JQuery等JavaScript库都用到了模板引擎。

table

?php

while($row=mysql_fetch_assoc($res){

?

tr

td产品名称/td

td?phpecho$row[‘goodNames’]?/td

/tr

?

}

?

table

公司中,是如何开发项目的?

设计组(设计效果图PS、FW)+Web前端(HTML+CSS+JS)

程序组(嵌入PHP)

小公司:

设计+程序(集合)

开发流程:

设计——程序——测试——上线(理论化)

设计——程序——测试——设计——程序——测试——程序——设计

如何解决以上问题:

答:通过模板引擎,把PHP逻辑代码与外观样式(HTML+CSS+JS)分离

table

{foreach$res$row}

tr

td产品名称/td

td{$goodName}/td

/tr

{/foreach}

table

DEDECMS/ECSHOP/PHPCMS

标签手册

{$title} 文章标题

{$content}文章内容

2、模板引擎原理

无论任何模板引擎,其实质原理都是实现对字符串的替换操作

php代码:

html代码:

效果:

3、封装一个小型的模板引擎

Template.class.php

demo01.php

demo01.html

二、Smarty模板引擎

1、什么是Smarty模板引擎

答:Smarty是通过PHP开发的模板引擎,提供了PHP逻辑代码与外观相分离的目的。

面试题:你了解与使用过那些模板引擎?

答:我了解过PHPLIB,比较擅长使用Smarty,目前正在学习Volt与Yaf

2、下载安装Smarty

1)下载地址:/

2)下载解压如下图所示

进入libs核心文件夹

3、为什么要选择Smarty

速度:相对于其他模板引擎而言,Smarty拥有更快的响应速度

编译型:系统在第一次访问模板文件时,会自动将其转化为编译文件(PHP文件),当下一次请求模板文件时,如果文件没有改变,系统会自动转向到编译文件

缓存技术:当系统访问模板文件时,如开启缓存开关,系统会自动生成缓存文件(静态页面),当下次访问系统自动转向缓存文件

原生

编译技术缓存技术静态化技术

插件技术:扩展性灵活

语句自由if/elseif/else/endif:ifelseifelseendif

不适合Smarty:

1)实时更新项目

2)小项目

4、使用Smarty

Smarty使用六步走

1)复制libs文件夹到项目目录中,并改名为smarty

2)创建php页面与html页面(在模板文件夹中templates)

3)在php页面中引入smarty3入口文件

4)创建smarty对象

5)通过assign方法分配变量到模板文件

6)通过display方法显示输出模板内容

示例代码:

demo01.php代码

demo01.html代码

效果:

当以上代码运行完毕后,系统会自动在项目目录生成templates_c编译目录,同时会生成编译文件,如下图所示:

模板标签会自动被Smarty替换为动态的PHP代码,当下次访问模板文件时,系统自动转向到编译文件。

为什么模板文件夹是templates/编译目录templates_c

5、编译原理

当用户的请求首先访问动态的php页面,系统自动访问smarty模板引擎,smarty引擎负责载入静态的html模板并生成编译文件(php),当用户下一次发送用户请求,系统首先校检模板文件是否改变,如改变则重新生成编译文件,否则,直接调用编译文件。

如何判断模板文件是否有改变:

在我们的window或linux操作系统,文件都有三个时间

创建时间ctime

文档评论(0)

1亿VIP精品文档

相关文档