Smarty学习笔记1—-使用

关于Smarty是什么,在我的文章模板引擎介绍里已经讲过,不再介绍,本文主要讲一下Smarty的使用。我使用的系统是Mac OS X。

1、安装Smarty详解
Smarty的安装方法比较简单,直接去官网下载安装包,下载后会看到一个压缩包,解压压缩包,在文件夹里找到libs文件夹

libs文件夹就是我们使用smarty所用的文件夹,把libs文件夹拷贝到相应目录根目录下即可。
在此新建smarty1030文件夹,把libs拷贝到smarty1030文件夹,安装完成!为了方便把libs重命名为smarty。

2、搭建服务
基于MAMP,MAMP的安装可参考文章以 MAMP 为 Mac OS X 安装并设置 PHP开发环境

3、使用服务
MAMP首页preference设置Apache路径:

在此选定我们新建的smarty1030为根目录。

4、使用Smarty
在第一段已经说过libs文件夹是smarty核心,libs文件夹主要提供了一下文件:

其中Smarty.class.php主要是封装Smarty类,供使用。plugins提供一些插件。
Smarty_Compiler.class.php主要是模板文件编译需要的代码。
smarty的使用需要遵循一定的目录规范(当然此规范也可以改):

caches:缓存相关放置目录;config:变量配置相关放置目录;templates:模板放置目录;templates_c:编译模板放置目录。demo1.php、demo1.tpl是我写的demo1页面所需模板文件及数据文件。
demo1.php如下:

<?php
  //创建实际路径
  define('ROOT_PATH',dirname(_FILE_));
  require ROOT_PATH.'/smarty/Smarty.class.php';
  //创建一个smarty对象
  $_smarty  = new Smarty();
  $title = 'smarty学习笔记';
  $userName = '吕坤洁';

  //注册变量,即扔数据给模板文件
  $_smarty ->assign('title',$title);
  $_smarty ->assign('userName',$userName);

  //缓存是否开启
  $_smarty ->caching=false;

  //左右定界符
  $_smarty ->left_delimiter='{%';
  $_smarty ->right_delimiter='%}';

  //注册模板,即引入模板
  $_smarty ->display('demo1.tpl');

?>

demo1.tpl如下:

<html>
<head>
	<title>{%$title%}</title>
	<script src="/static/jquery-1.9.1.min.js"></script>
	<link rel="stylesheet" type="text/css" href="/static/demo1.css">
</head>
<body>
	<button class="test">点我</button>
	<script type="text/javascript">
		$(".test").click(function(){
			var str = '<div class="show">hello {%$userName%}!</div>';
			$('.test')[0].disabled = true;
			$("body").append(str);
		});
	</script>
</body>
</html>

在根目录我新建了static文件夹,用来放置页面所需静态资源。demo1.css如下:

button{
	width: 100px;
	height: 40px;
}
div{
	width: 200px;
	height: 40px;
	margin:0 auto;
}
.test{
	background-color: red;
}

5、查看效果
使用MAMP的open WebStart page按钮,打开页面,页面地址:http://localhost/demo1.php,页面效果如下:

以上是使用smarty构建简单页面的主要步骤,小伙伴们会了吗?欢迎大家批评指正。

此条目发表在Linux, 业务分类目录。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注