smarty 基础一
以前就接触过smarty,也会用,不过很长时间没用就忘了,今天复习到这里,就写篇文章,无多大意义、自己复习用,懂的人就别看了。
先了解一下smarty:
Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离
smarty优点:
1 速度快 2 编译型 3 缓存技术 4 插件技术 5 模板中可以使用判定语句
好了下面开始学习使用smarty了
第一步 可以到官网上下载 上下载最新版本(目前最新为3,1RC1)、官网为:http://www.smarty.net/
目录分析:
打开压缩包 目录结构为dome 和libs dome里面是程序。libs里面是是smarty核心类和系统插件和插件目录
dome里包含:
cache 缓存文件夹
configs 配置文件夹, 里面的文件后缀名都是以.conf 结尾
plugins 插件文件夹
templates 模板文件夹,里面的文件后缀名都是以.tpl 结尾
templates_c 模板生成的缓存文件家
开始:
首先创建一个index.php文件,
<?php define ("BASE_PATH",$_SERVER['DOCUMENT_ROOT']); //ECHO BASE_PATH; define ('SMARTY_PATH','/smt/smarty/'); require BASE_PATH.SMARTY_PATH.'Smarty.class.php'; //引入Smarty类文件 $smarty = new Smarty; //实例化Smarty类 $smarty->template_dir = BASE_PATH.SMARTY_PATH.'templates/'; //定义模板目录 $smarty->compile_dir = BASE_PATH.SMARTY_PATH.'templates_c/'; //定义模板缓存目录 $smarty->config_dir = BASE_PATH.SMARTY_PATH.'congifs/'; //定义配置目录 $smarty->cache_dir = BASE_PATH.SMARTY_PATH.'cache/'; //定义编译缓存目录 $smarty->cache_lifetime = -1; //缓存时间,这里将以秒为单位进行计算缓存有效的时间。 //当为-1时表示永不过期,当为0时表示在程序每次执行时缓存总是被重新建立 $smarty -> cache = false; //是否开启缓存,初期测试建议不要开启 $smarty->left_delimiter = '{%'; //重新定义左右边界符号,防止和javascript中{}冲突 $smarty->right_delimiter = '%}'; ?>
9.7 21:25
今天看到一篇误人子弟的smarty教程,里面没有说清楚,害我浪费了1个小时为了个html_checkboxes,最好还是借助手册看懂了,关键时候还是看手册啊,今天决定学习smarty从手册学起,其他都是浮云。
好了 上面学到怎样建立smarty文件
现在学习最基础的,向smarty模板文件中传值。
smarty 使用assign函数进行传值,传入的数据在模板中可以进行加工(如首字母大小、日期格式化等),最后得到想要的代码,通过display函数来引入模板,模板直接写模板文件名就可以了,以为上面已经定义了模板所在的文件夹。
先来学习最最基础的吧
require('smarty/Smarty.class.php'); $smarty = new Smarty; $smarty -> assign('title','第一个smarty实例'); //传入两个变量 $smarty -> assign('content','内容content'); $smarty -> display('index.tpl'); //引入模板文件
index.tpl 模板文件
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>{%$title%}</title> </head> <body> {%$content%} </body> </html>
显示效果: