论坛首页 编程语言技术论坛

smarty 基本配置、应用

浏览 6743 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-02-23   最后修改:2010-03-13
PHP
//以下为:smart_inc.php 
include_once("Smarty/Smarty.class.php"); //包含smarty类文件  压缩包中的libs文件夹中
$smarty = new Smarty(); //建立smarty实例对象$smarty

$smarty->config_dir="Smarty/Config_File.class.php";  // 目录变量

$smarty->caching=false; //是否使用缓存,项目在调试期间,不建议启用缓存
$smarty->cache_lifetime=60; //缓存时间,秒;
$smarty->template_dir = "./templates"; //设置模板目录   一个.表示当前目录

$smarty->compile_dir = "./templates_c"; //设置编译目录

$smarty->cache_dir = "./smarty_cache"; //缓存文件夹

//----------------------------------------------------

//左右边界符,默认为{},实际应用当中容易与JavaScript相冲突

//----------------------------------------------------

$smarty->left_delimiter = "{";   //定义左边

$smarty->right_delimiter = "}"; //定义右边

 使用:

 

$smarty->assign("模板变量", "(数组/变量)");
$smarty->display("模板名称"); 
如templates文件夹中的a.htm
 
<html>
<title>{$name}</title>
--------------------------------
a.php使用a.htm模板:
 
$smarty->assign("name", "标题"); //进行模板变量替换
$smarty->display("a.htm"); 
 
Smarty的应用:变量,循环
 
$smarty->assign("模板变量", "数组");
{section name=s loop=$stu}
{$stu[s].name}
//{sectionelse} 
无内容
{/section}
 循环
$a[]=("name"=>"abc","title"=>"cd");
$a[]=("name"=>"abc1","title"=>"cd1");
$smarty->assign("bl",$a);
{section name=s loop=$bl}
{$bl[s].name}    {$bl[s].title}  
{/section}
   发表时间:2010-02-24  
smarty3都出来了,研究2是不是吃太饱了
0 请登录后投票
   发表时间:2010-02-24  
hittyo 写道
smarty3都出来了,研究2是不是吃太饱了

楼上。你把smarty3下载下来看一下再说话行吗?
1 请登录后投票
   发表时间:2010-03-08  
有没有smarty生成静态页的例子?
0 请登录后投票
   发表时间:2010-03-15  
为什么还有人用Smarty呢?
0 请登录后投票
   发表时间:2010-03-19  
fyland 写道
为什么还有人用Smarty呢?


请问现在该用什么呢?
1 请登录后投票
   发表时间:2010-03-29  
grandboy 写道
fyland 写道
为什么还有人用Smarty呢?


请问现在该用什么呢?



改用Lite吧:)
0 请登录后投票
   发表时间:2010-04-03  
hittyo 写道
smarty3都出来了,研究2是不是吃太饱了

smarty2.6.26是目前最稳定的版本。在计算机世界里面并不是最新的就是最好的!
0 请登录后投票
   发表时间:2010-11-19  
jindw 写道
grandboy 写道
fyland 写道
为什么还有人用Smarty呢?


请问现在该用什么呢?



改用Lite吧:)



刚才看了一下Lite,发现在PHP中还是使用Smarty要好一些。
以下是Lite介绍中的内容:

php版本的性能较差,估计主要事php函数调用开销的问题,相比smarty这个编译成最终php的模板实现来说,在asciitable打印测试中,单进程内一次运行要慢smarty3.5倍(通常web页面的渲染模式),如果单进程重复运行1000次(现实环境中不太可能发生),可能是因为php文件的解析缓存,要慢smarty9倍,而且如果php使用编译缓存加速,这个差距还会进一步加大。以后考虑将采用类似lite4js那样编译成最终代码的方式,或者直接编写php扩展。
0 请登录后投票
   发表时间:2010-12-14  
最近研究smarty 3,很不错的,借用了.net 中的母板页思想。值得学习应用。
有空大家研究下性能问题
apc_cache
xcache
opcode等等这些。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics