心情碎语:暂无碎语

您的位置:慕轲博客 >MVC基础专题> Smarty模板引擎的简介和网站基本框架搭建

Smarty模板引擎的简介和网站基本框架搭建

作为一个网站开发人员你一定还在忧虑要学的东西太多,要学会网页设计,js特效,图片处理,数据库设计,php等后台语言开发等等方面的知识,压力很大啊!现在不用怕,赶快来学习smarty吧,Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。

Smarty模板使开发任务分工成为可能,美工专注前台、PHP工程师专注后台(从开发的角度来区分前后台啊!呵呵)。Smarty分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。

Smarty是PHP程序员必须掌握的一个最基本的模板或框架(后续在此基础上,小慕还要说如何自定义框架的,所以建议大家要看一下这个的),既然这么神奇,那小慕就来说说吧!

1、下载并配置smarty

www.smarty.net下载smarty的最新版,解压,拷贝其中的libs文件夹到项目中

你也可以下载小慕提供的Smarty版本,这里提供的是Smarty 3.1.30这个版本,下载地址是:http://www.amuker.com/zyfx/236.html

2、在项目中创建templates、templates_c、cache、config四个文件夹 

在项目中创建index.php,代码如下 

<?php 
//第一步,引入并实例化smarty核心类库 
require_once("libs/smarty.class.php"); 
$smarty=new smarty(); 
//第二步,配置smarty让后台页面自动的去查找前台页面 
$smarty->template_dir="templates";//指定模板文件的路径 
$smarty->compile_dir="templates_c";//指定编译的文件路径 
$smarty->cache_dir="cache";//指定缓存文件路径 
$smarty->config_dir="config";//指定smarty配置文件路径 
$smarty->left_delimiter="{?";//指定左定界符,避免和JS冲突 
$smarty->right_delimiter="?}"; 
 
//定义变量,在前台进行使用 
$a="慕轲博客!"; 

//注册对应变量 
$smarty->assign("a",$a);//键名和变量名一致 
 
//第三步,前后台自动生成 
$smarty->display("index.tpl");//显示模板 
?> 

接下来,在templates文件夹下创建.tpl的模板文件,显示变量值 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>测试smarty模板_慕轲博客</title>
</head> 
 
<body>
我知道:{?$a?}
</body>
</html> 

3、测试:

访问后台页面,因为smarty模板帮我们整合前后台页面,而前台页面做的再花,也无法和用户进行交互,以后的页面切割和合并也都以访问的后台页面作为参考物!!!

做好以上几个步骤你就基本完成了网站前后台分离的框架搭建工作了,简单吧,哈哈。额,小慕这里需要指出两个注意点: 

1、新建前台模板页面,最好页面名不要相同,否则可能出现冲突!!! 

2、在网站根目录下,只允许出现本网站的首页(index、default)、头部(header)、底部(footer)页面的后前台网页文件,其他文件不得单独出现,方面于管理和控制权限!!! 

smarty模板实现前后台分离,并且在后台注册变量,自动整合前后台到编译文件,遇到变量标签进行替换(解释),可以加快网站访问效率等。小慕就说这么多了。

---

转载请注明本文标题和链接:《Smarty模板引擎的简介和网站基本框架搭建