Heim > Backend-Entwicklung > PHP-Tutorial > php—Smarty-1 (18),phpsmarty-118_PHP教程

php—Smarty-1 (18),phpsmarty-118_PHP教程

WBOY
Freigeben: 2016-07-13 09:54:57
Original
891 Leute haben es durchsucht

php—Smarty-1 (18),phpsmarty-118

smarty

一、模板原理

1、  为什么使用模板

1)  场景:

for($i=0;$i

       echo ‘

’.$row[‘proname’].’

}

以上这种写法将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、  原理图:

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/993275.htmlTechArticlephp—Smarty-1 (18),phpsmarty-118 smarty 一、模板原理 1、 为什么使用模板 1) 场景: for($i=0;$i$count;$i++){ echo td.$row[proname]./td } 以上这种写法将...
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage