关于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构建简单页面的主要步骤,小伙伴们会了吗?欢迎大家批评指正。