- 浏览: 159180 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
一凡蹈客:
really good
百万级访问网站前期的技术准备 -
lllt:
这种效果实际上不需要任何js的
加载图片时由模糊变清楚原理---类似QQ空间的相册的效果 -
JavaStudyEye:
如何在三个月内获得三年的工作经验------实际的很 -
JavaStudyEye:
...
如何在三个月内获得三年的工作经验------实际的很 -
filish108:
如何在三个月内获得三年的工作经验------实际的很
以下内容是是PHP100的PHP教程视频第27,28,29,30讲的浓缩,并添加一些smarty中文手册的补充材料,简练明了,如果看不懂的话。。。还是先看下27-30讲的视频较好。 $smarty->assign("模板变量","值/数组"); 例: index.php的代码: section举例(参数name和loop必不可少,name=自定义循环名 loop=用来循环的变量): 例:新闻列表循环 index.php代码: index.htm代码: foreach举例(参数from和item必不可少,item=自定义循环名 from=用来循环的变量): //有键值数组 例: include(“smarty_inc.php”); //smarty配置文件 index.html代码: (注:这些内置函数都是写在模板文件上的,如index.html,index.tpl。foreach和section也是smarty的内置函数,由于较为重要,所以在上一段单独列出) include多功能使用 {include file="header.html"} IF条件语句的使用 {if $name==’ok’} literal用以忽略页面中的javascript的{} {literal} strip 删除代码中的首尾空格和回车,让代码成一行 {strip} smarty缓存的配置 $smarty->cache_dir = "/caches/"; //缓存目录 smarty缓存的使用和清除 $smarty->display(‘cache.htm’,cache_id); //创建带ID的缓存 smarty局部缓存函数 include(“smarty_inc.php”); //配置的一个smarty类文件 index.html display (template [,cache_id [,compile_id]]) 例: // is_cached也是smarty的方法之一,用于只有在缓存不存在时才调用数据库 fetch 取得输出的内容 fetch (template [,cache_id [,compile_id]]) 例: smarty变量操作符: 另外smarty一共有20个变量操作符,个人认为只有处理一些英文文章时才有它们的用武之地,所以不再介绍。 最后,可以用{* 这是一个注释 *} 给smarty的模板文件加上必要的注释 Smarty常用功能介绍大致就这些,是不是很简单?看看秒表,可能30分钟还没到。 http://www.bluesdog.cn/blog/articles/2010-1/2010181622083.asp
smarty配置:
$smarty = new smarty(); //新建一个对象
$smarty->caching = false; //关闭缓存,有利于测试。如需开启缓存,改为true
$smarty->cache_lifetime = 60 //设置缓存存活时间,单位秒,必须把caching=true下才作用
$smarty->config_dir = "./configs"; //设置配置文件目录,可用$smarty->config_load()方法来调用配置文件
$smarty->template_dir = "./templates"; //设置模板目录
$smarty->compile_dir = "./templates_c"; //设置编译目录
$smarty->cache_dir = "./caches"; //设置缓存目录
$smarty->left_delimiter = "{"; //缓存左边界符
$smarty->right_delimiter = "}"; //缓存右边界符
smarty应用:
$smarty->display("模板名称");
$value = "bluesdog say : learn smarty only 30 minutes"
$smarty->assign("content",$value); //进行模板变量替换
$smarty->display("index.htm") //该文件就是模板文件,应该在./templates模板目录下
index.htm的代码:
<HTML>
{if $content ne ""}
{$content}
{/if}
</HTML>
smarty循环:
smarty共有2种循环函数,section循环多维数组,foreach循环一维简单数组。
{section name=s loop=$stu}
{$stu[s].name}
{sectionelse}
无内容
{/section}
include("smarty_inc.php"); //smarty配置文件
$news[]=array("title"=>"新闻标题第一条","date"=>"2009-01-01");
$news[]=array("title"=>"新闻标题第二条","date"=>"2009-01-02");
$news[]=array("title"=>"新闻标题第三条","date"=>"2009-01-03");
$news[]=array("title"=>"新闻标题第四条","date"=>"2009-01-04");
$news[]=array("title"=>"新闻标题第五条","date"=>"2009-01-05");
$row=array("标题","作者","当前页");
$smarty->assign("row",$row);
$smarty->assign("news",$news);
$smarty->display("index.htm");
<html>
{$row[0]} | {$row[1]} | {$row[2]}
<hr>
<ul>
{section name=list loop=$news}
<li>
{$news[list].title}-{$news[list].date}
</li>
{/section}
</ul>
</html>
//无键值数组
{foreach from=$name item=id}
id:{$id}<br>
</foreach>
{foreach key=j item=v from=$name}
{$j}:{$v}<br>
{/foreachelse}
没有内容了
{/foreach}
$value=array(1,3,5,7);
$value2=array(‘a’=>’php’,’b’=>’java’,’c’=>’C++);
$smarty->assign(‘name’,$value);
$smarty->assign(‘name2’$value2);
$smarty->display(“index.html”);
{foreach from=$name item=id}
数组:{$id}<br>
{/foreach}
{foreach from=$name item=id key=k}
数组键值:{$k} 数组内容:{$id}<br>
{/foreach}
smarty内置函数:
{include file="D:\www\head.htm"} // 可以使用绝对路径
{include file="head.html" title="bluesdog"} // 如果head.html中有{$title},则直接替换成bluesdog
…
{else}
…
{/if}
<script language=javascript>
fun1(){
… …
}
</script>
{/literal}
一般放在html代码的开始和结束
{/strip}
smarty缓存:
$smarty->caching = true; //开启缓存
$smarty->cache_lifetime = 60; //缓存时间,单位秒
//你可以给不同的模板设置不同的缓存过期时间,一个lifetime,一个display。
$smarty->clear_all_cache(); //清除所有缓存
$smarty->clear_cache(‘index.htm’); //清除index.htm的缓存
$smarty->clear_cache(‘index.htm’,cache_id); //清除指定id的缓存
(注:insert和blockname都是smarty的内置函数,由于较为重要单独拿出来讲)
例1:
index.php
function insert_shijian (){
return date("Y-m-d H:m:s");
}
index.htm
<div>{insert name="shijian"}</div>
例2:
include(“mysql_inc.php”); //一个操作mysql的类文件
if($_GET[id]){
$sql=”select * from bluesdog where id=”.$_GET[id];
$query=$db->query($sql); //mysql类中的方法query=mysql_query()
$row=$db->fetch_array($query);
$db->query(‘update bluesdog set hit=hit+1 where id=’.$_GET[id]);
}
$smarty->assign(‘row’,$row);
function insert_hits(){
global $row;
return $row[2];
}
$smarty->display(‘index.html’);
标题:{$row[name]}<br>
点击:{$row[hit]}次<br> //缓存开启时,这部分内容不会即时更新
点击:{insert name=’hits’} //insert就能即时更新了
{blockname}
没有缓存的:{$smarty.now}
{/blockname}
smarty两个最重要的方法:
display显示模板
cache_id指定一个缓存号。
compile_id指定一个编译号。
include("Smarty.class.php");
$smarty = new Smarty;
$smarty->caching = true;
if(!$smarty->is_cached("index.tpl")){
$address = "245 N 50th";
$smarty->assign("Name","Fred");
$smarty->assign("Address",$address);
}
// 显示输出
$smarty->display("index.tpl");
返回一个模板输出的内容(HTML代码),而不是像display()那样直接显示出来,常用于静态输出html文件。
include("Smarty.class.php");
$smarty = new Smarty;
$smarty->caching = true;
// 只有在缓存不存在时才调用数据库
if(!$smarty->is_cached("index.tpl")){
// dummy up some data
$address = "245 N 50th";
$db_data = array( "City" => "Lincoln", "State" => "Nebraska", "Zip" = > "68502" );
$smarty->assign("Name","Fred");
$smarty->assign("Address",$address);
$smarty->assign($db_data);
}
// 捕获输出
$content = $smarty->fetch("index.tpl");
//下面将内容写入至一个静态文件
$file = fopen("index.html","w");
//OK, 到这里这个index.html静态页就生成了
fwrite($file,$content);
$fclose($file);
发表评论
-
Linux系统中memcache和memcached安装方法
2011-08-23 02:29 1075Memcache 是一 ... -
apache不解析php文档?提示需要下载
2011-08-22 06:25 1225作者:陆文举 http://blog.luwenju.c ... -
Linux上全源码安装Apache、MySQL、PH
2011-08-21 20:11 1241Linux上全源码安装Apache、MySQL、PHP、W ... -
安装PHP常见错误解决error
2011-08-21 19:48 1297PHP的安装虽然有时候很简单,可是如果应用一多,我们安装起 ... -
php需要学的真多,一个php牛人的需要的经历
2011-02-11 18:12 1375php需要学的真多。因为触级的太多。一个php牛人的需要的 ... -
Firebug基本知识推广
2010-11-25 19:33 653... -
通过Filter实现二级域名和URLRewrite
2010-11-24 20:45 890通过Filter实现二级域名和URLRewrite 文章分类 ... -
将 WordPress 文章同步发送到 Twitter,新浪微博,搜狐微博,QQ微博,嘀咕,开心,人人
2010-11-21 00:54 3397这两天没事,Forece 又开始折腾了,想把自己用 Word ... -
Smarty foreach详解
2010-11-11 09:44 1099Smar ... -
PHP5面向对象学习教程(7月十五写的)
2010-10-14 07:31 760PHP5面向对象教程.CHM (41.83 KB) 下 ... -
PHP中 __FILE__ 和 dirname(__FILE__) 使用
2010-10-14 06:58 1234__FILE__ 返回网站根目录 ... -
建立host 文件桌面快捷方式
2010-09-27 19:10 1250A) 关于建立 host 文件记事本打开的快捷方式: ... -
Apache httpd.conf详解
2010-09-25 13:57 1122Apache服务器的设置文件 ... -
memcache在telnet下的使用说明
2010-09-15 19:35 1437memcached Telnet Interf ... -
smarty整理总结
2010-09-13 18:19 7911.smarty的配置 首先,使用smarty第 ... -
从源码安装apache2,遇到错误:cannot install `libaprutil-1.la' LAMP 2010-07-23 20:57:15 阅读3
2010-09-08 10:59 920从源码安装apache2,遇到错误:cannot ins ... -
Tortoise SVN 客户端 基本用法
2010-09-07 20:07 954Tortoise SVN 客户端 基 ... -
phpMyAdmin安装配置方法全过程,及问题解决
2010-01-28 10:24 1239今天调试PHP数据库Mysql ... -
找出占用你端口的罪魁祸首
2010-01-03 14:52 949做开发的同学经常会碰到一个恼人的问题,那就是启动服务器时会抛出 ... -
PHP常见面试题目深入解答分析
2009-12-28 23:39 1308很久没有更新了,继续上一篇文.再来讨论几道常见的试题.查看 ...
相关推荐
Smarty是PHP世界中一款著名的模板引擎,它的设计目标是将HTML和PHP代码分离,让开发者可以专注于业务逻辑的实现,而设计师则可以专注于页面的视觉呈现。本讲将引导我们入门Smarty,理解其核心概念,并掌握基本的使用...
Smarty是PHP领域中一款广泛应用的模板引擎,它将业务逻辑与视图呈现分离,使得开发者可以更专注于HTML的布局和设计,而不用关心PHP代码的嵌入。本讲主要介绍了Smarty在缓存应用方面的知识,包括配置、使用、清除以及...
Smarty模板引擎是一款专门为PHP开发的模板技术框架,其核心设计理念在于实现前端展示(视图)与后端逻辑(控制器和模型)的分离,使得开发者能够更专注于设计和业务处理,而不是将两者混淆在一起。作为业界知名的PHP...
在PHP开发中,模板引擎是一种将业务逻辑与视图展示分离的重要工具,Smarty就是其中一款广泛应用的PHP模板引擎。本讲主要围绕Smarty的内置函数展开,涵盖了数组处理、多文件包含、条件判断以及文本处理等核心功能。 ...
Smarty是一个在PHP中广泛使用的模板引擎,它的设计目标是将呈现逻辑与业务逻辑分离,使得开发者可以专注于PHP代码处理逻辑,而设计师则可以独立地进行HTML样式的编辑。本学习笔记将详细介绍Smarty的核心概念、安装...
Smarty是一款广泛应用于PHP开发中的模板引擎,它的主要目标是将前端设计与后端逻辑代码分离,使得开发者和设计师能够更加高效、独立地进行工作。在传统的PHP开发中,HTML和PHP代码常常混杂在一起,这既不利于代码的...
PHP模板引擎Smarty的安装配置及应用实现
Smarty是一个使用PHP写出来的PHP模板引擎,目的是要使用PHP程序同美工分离,使的程序员改变程序的逻辑内容时不会影响到美工的页面设计,美工重新修改页面时不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为...
标题中的“PHP100视频教程30:PHP模板引擎Smarty缓存应用”是指一系列针对初学者和进阶者的PHP编程教程,其中的第30讲重点讲解了PHP的 Smarty 模板引擎以及其在缓存应用上的实现。Smarty 是一个广泛使用的PHP模板...
Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,...
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ...┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ 如有转载请勿删除本说明文件,谢谢合作 ┃ ...
Smarty是一款广泛应用于PHP开发中的模板引擎,它将业务逻辑与视图层分离,使得开发者能够更专注于页面设计和用户体验。本讲将详细讲解Smarty中的变量操作符,帮助你更好地理解和运用这些工具。 首先,让我们来了解...
本文档主要讲述的是PHP模板引擎smarty入门;希望本文档会给有需要的朋友带来帮助;Smarty是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码...
Smarty模板引擎从安装到结合php的使用, 从基础到深入
1、Smarty缓存的配置 $smarty->cache_dir = "/caches/"; //缓存目录 $smarty->caching = true; //开启缓存,为flase的时侯缓存无效 $smarty->cache_lifetime = 60; //缓存时间2、Smarty缓存的使用和清除 $...
在PHP开发中,模板引擎如Smarty的使用是一个重要的实践,特别是在构建MVC(Model-View-Controller)架构的Web应用程序时。MVC模式是软件工程中的一种设计模式,旨在分离业务逻辑(模型)、用户界面(视图)和应用...
Smarty是一款广泛应用于PHP开发中的模板引擎,它的主要目标是将前端设计与后端逻辑代码分离,使得开发者可以更专注于业务逻辑的实现,而设计师则可以更专注于页面的视觉呈现。这个教程将深入讲解Smarty模板引擎的...
php Smarty
【标题】"PHP100视频教程28:PHP模板引擎Smarty的变量操作符.rar" 涉及的核心知识点是PHP中的Smarty模板引擎及其变量操作符。Smarty是一款强大的PHP模板技术,它将业务逻辑与视图层分离,使得前端开发者可以更专注于...
在本教程中,我们将深入探讨PHP模板引擎Smarty,这是一个强大的工具,它将应用程序逻辑与视图层分离,促进了代码的可读性和维护性。Smarty以其丰富的内置函数为PHP开发人员提供了许多便利,使得在处理HTML模板时更加...