网站地图    收藏   

主页 > 后端 > PHP语言 >

php-smarty模板使用教程(一)

来源:未知    时间:2014-09-15 23:20 作者:xbdadmin 阅读:

[导读] 一、 介绍 smarty 模板技术 1、 什么是smarty l smarty是一个基于PHP开发的PHP模板引擎。它提供了逻辑与外在内容的分离。 2、 Smarty的特点 l 速度 l 编译型 l 缓存技术 l 插件技术 l 语句自由...

一、 介绍
  smarty 模板技术
1、 什么是smarty
smarty是一个基于PHP开发的PHP模板引擎。它提供了逻辑与外在内容的分离。
2、 Smarty的特点
速度
编译型
缓存技术
插件技术
语句自由 if/elseif/else/endif
缺点:
实时更新 :实时性要求较高网站不适合用。
小项目 : 程序人员和美工人员是同一个人
3、 关于smarty的配置
http://smarty.php.net
/lib
Smarty 2.6php4.0
Smarty 3.0php5.0
进入官网,下载相应版本的smarty
下载smarty3.0  php5.0
Smarty2.6 php4.0
下载之后是一个压缩文件,进行解压,解出来之后,有两个文件夹:
Demo:应用案例
Libs:Smarty应用程序
接下来,我们把libs移动至我们的项目中,习惯性改成smarty,进入到smarty文件夹
 
smarty 文件
 
Debug.tpl:调试模板
Smarty.class.php:Smarty类文件
SmartyBC.class.php:在3.0中,对原来的smarty进行了一些修改,如果想使用以前的功能,需要调用这个文件
Sysplugins:系统插件目录
Plugins:自定义插件目录
 
二、 Smarty快速入门
 

 
三、 Smarty的处理过程
 
当我们第一次运行程序时,程序会读取某个模板文件,将模板文件中的字符串读取出来,并替换和输出
如果第二次读取时,还需要对模板文件进行读取,这样会增加系统开销
所以现在使用编译机制:
第一次运行某模板时,将内容编译到某个编译文件中,下次如果还是请求这个模板时,会直接调出这个编译文件进行使用
tips:很重要的一个图:理解smarty 工作机制
 

 
四、 关于Smarty的路径设置
 
我们上一题中,没有设置任何路径,这时模板与程序在同一目录下是可以被认可的,但是在真正的项目,所有模板应该放到一个统一目录下管理
Smarty2.6
template_dir :模板目录
compile_dir :编译目录
config_dir :配置文件目录
cache_dir :缓存文件目录
在smarty2.6中,这几个属性是公有的
在smarty3.0中也是支持的,但它们是受保护的(protected)
 
Smarty3.0
以下四个为设置路径函数
setTemplateDir()
setCompileDir()
setConfigDir()
setCacheDir()
以下四个为获取路径函数
getTemplateDir()
getCompileDir()
getConfigDir()
getCacheDir()
 
配置smarty 的属性
 
在smarty2.6中支持直接对路径赋值的形式,在3.0也是支持的,建议使用3.0的用法(在不久的将来 smarty3.0肯定不会再支持直接用2.6的方法设置属性)
 
五、 分隔符
left_delimiter:左分隔符
right_delimiter :右分隔符
在smarty3.0中,这两个属性是公有的,默认值为 {},如果和项目中用到的分隔符不符,可以考虑这样来做:
如果确定所有项目文件都使用一种,可以将smarty.class.php文件中的内容进行修改
如果只是某些文件情况比较特殊,可以将当前程序的这两个属性进行修改
 
smarty分隔符
 
六、 assign 方法
表示为模板变量赋值
在模板中,可以这样使用:
{$name} :表示模板变量name
在程序中,可以这样使用:
$smarty->assign(name,wangcai);
这样就把模板中这个标记替换成了wangcai
$smarty->assign('name','xiaoqiang');

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论