smarty

来源:互联网 发布:单片机方案开发公司 编辑:程序博客网 时间:2024/04/29 09:02
 

Smarty模板编写的程序运行速度快,相当于其他PHP模板是相当优秀的。可以自行设置模板定界符,可应使用{}﹑{{}}﹑<!–{}–>等符号。模板中可以使用if/elseif/else/endif语句,支持内建缓存,可以自定义插件。

Smarty模板官方下载:www.smarty.net

在本机或服务器搭建好PHP服务器环境后,就可以安装Smarty模板了。将压缩包解压,里面有一个libs文件夹,它包含了Smarty类库的核心文件。其中包含Config_File.class.php,Smarty.class.php Smarty_Compiler. class.php和 debug.tpl四个文件,还有internals,plugins两个文件夹。

下面通过一个简单实例说明Smarty的安装步骤

①在服务器根目录新建一个文件夹,将libs目录复制到该文件夹下

②在libs目录下再新建4个目录,分别是temliates﹑templates_c﹑configs和cache。temliates用来保存模板.tpl文件,configs保存配置文件,cache用来保存最终显示页面的缓存。

③用编辑器(这里为dreamweaver)创建HTML,代码如下。最后命名为index.tpl,存放到templates目录里

template_dir = BASE_PATH.SMARTY_PATH.'templates/';
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title> <{$title}> </title>
</head>
<body>
<{$content}>
</body>
</html>

④返回上级目录,新建文件index.php,其中包含了Smarty的配置信息。代码如下

<?php


require 'libs/Smarty.class.php';

$smarty = new Smarty();
$smarty->compile_dir = BASE_PATH.SMARTY_PATH.'templates_c/';
$smarty->config_dir = BASE_PATH.SMARTY_PATH.'configs/';
$smarty->cache_dir = BASE_PATH.SMARTY_PATH.'cache/';
$smarty->left_delimiter = '<{';
$smarty->right_delimiter = '}>';
/* 使用Smarty赋值方法将一对儿名称/方法发送到模板中 */
$smarty->assign('title','第一个Smarty程序');
$smarty->assign('content','Hello,Welcome to study \'Smarty\'!');
/* 显示模板 */
$smarty->display('index.tpl');
?>
代码说明:

①index.php是Smarty运行最关键的文件,它加载了Smarty.class.php 类库文件,这里使用的是绝对路径。为了在稍后在配置其他路径是不再输入长长地地址字符串,之前声明了2个常量:服务器地址常量和Smarty路径常量。两个常量连接起来就是Smarty类库的绝对路径了。

②保存新建的4个目录的绝对路径到各自的变量,前面创建了4个文件夹,用来保存相关文件。如果没有配置这些目录,那么默认的路径就是当前执行文件所在的路径。

③给代码复制。其他设置好后,就要给指定的模板(index.tpl)赋值了。这里通过assign()函数赋值。

④显示模板。调用display()函数来给显示页面。实际上用户看到的就是templates目录下的index.tpl模板文件。而作为首页的index.php文件只是用来传递参数和显示模板。

所有的Smarty页面都要包含Smarty类库和相关信息,每个页面都写一遍配置是不现实的。只要把所有的配置信息都写到一个文件(config.php文件)下,在index.php文件夹写入include ‘../config.php’即可。

通过Smarty模板生成一个网页的实例,就可以初步了解到PHP动态生成网页的机理。实际上显示的是由HTML代码组成的.tpl模板文件,index.php文件只是联系模板和类库,进行传值显示
原创粉丝点击