·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> php—Smarty-1 (18)

php—Smarty-1 (18)

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23
php—Smarty-1 (18)

smarty

一、模板原理

1、 为什么使用模板

1) 场景:

for($i=0;$i<$count;$i++){

echo ‘<td>’.$row[‘PRoname’].’</td>

}

以上这种写法将html与php进行混编,不利于开发和维护

2) 场景:

我们现在开发了一个网站,经过一段时间的运营,客户对前台不满意,我们又开发一套界面,但运行之后,客户认为之前的样式比较好,经常更换网站样式

解决以上两个问题的最好办法,就是使用模板

2、 模板的具体实现

模板的实现其实就是字符串替换

1) 例1

模板文件:

PHP文件:

1) 例2:

Template类:

PHP代码:

上面的类文件中的代码,不够优化,我们可以使用比较流行的模板框架来实现自己的项目

二、Smarty简介

1、 什么是Smarty

Smarty是一个基于PHP开发的PHP模板引擎。它提供了逻辑与外在内容的分离。

2、 Smarty的特点

l 速度

l 编译型

l 缓存技术

l 插件技术

l 语句自由 if/elseif/else/endif

l 实时更新 :实时性要求比较高

3、 配置

l http://smarty.php.net

l /lib

l Smarty 2.6 php4.0

l Smarty 3.0 php5.0

1解压smarty,进入解压目录

Demo:案例

Libs:Smarty源代码

1) 进入libs目录,

Plugins:自定义插件目录

Sysplugins:系统插件目录

Debug.tpl :在Smarty中,有调试功能,可以观察变量的值 ,调试窗口模板

Smarty.class.php:Smarty核心类文件(入口文件)

SmartyBC.class.php :Smarty3.0在2.0的基础上进行了升级,如果想使用2.0的功能,可以引用这个入口文件

3)将libs目录复制到项目中,并重命名

三、 快速入门

1、 代码实现:

模板代码:

{$name}、{$age} :模板标记变量

程序代码:

2、 smarty工作原理:

l smarty将php源文件,首先编译成中间文件

l 如果启用缓存,再根据编译文件生成缓存文件

l 之后的每次访问都会访问编译文件

l 如果启用缓存且有缓存文件而且没有过期,则直接访问缓存文件

Smarty第一次运行某个程序时,会将这个程序生成一个编译文件

以后,每次运行这个程序时,只要模板没有改变,就直接运行这个编译文件,如果模板改变了,就重新生成编译文件,再去运行。

编译是指针对模板的编译

3、 原理图: