Smarty变量用法详解


Posted in PHP onMay 11, 2016

本文实例讲述了Smarty变量用法。分享给大家供大家参考,具体如下:

1. 从PHP分配的变量

调用从PHP分配的变量需在前加"$"符号.(译注:同php一样)

调用模板内的assign函数分配的变量也是这样.(译注:也是用$加变量名来调用)

示例:

index.php:

$smarty = new Smarty;
$smarty->assign('firstname', 'Doug');
$smarty->assign('lastLoginDate', 'January11th, 2001');
$smarty->display('index.tpl');

index.tpl:

Hello {$firstname}, glad to see you couldmake it.
<p>
Your last login was on {$lastLoginDate}.

输出:

Hello Doug, glad to see you could make it.
<p>
Your last login was on January 11th, 2001.

2. 从配置文件读取的变量

配置文件中的变量需要通过用两个"#"或者是smarty的保留变量 $smarty.config.来调用(后面会讲到)

第二种语法在变量作为属性值并被引号括住的时候非常有用.

(译注:举个例子 {include file="#includefile#"} 这样#includefile#将被当作字符处理,而不表示配置文件变量,但可以这样表示{include file="`$smarty.config.includefile`"}不要忘了加``)

示例:

foo.conf:

pageTitle = "This is mine"
bodyBgColor = "#eeeeee"
tableBorderSize = "3"
tableBgColor = "#bbbbbb"
rowBgColor = "#cccccc"

index.tpl:

{config_load file="foo.conf"}
<html>
<title>{#pageTitle#}</title>
<body bgcolor="{#bodyBgColor#}">
<table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}">
<tr bgcolor="{#rowBgColor#}">
    <td>First</td>
    <td>Last</td>
    <td>Address</td>
</tr>
</table>
</body>
</html>

index.tpl:

{config_load file="foo.conf"}
<html>
<title>{$smarty.config.pageTitle}</title>
<body bgcolor="{$smarty.config.bodyBgColor}">
<table border="{$smarty.config.tableBorderSize}"bgcolor="{$smarty.config.tableBgColor}">
<tr bgcolor="{$smarty.config.rowBgColor}">
    <td>First</td>
    <td>Last</td>
    <td>Address</td>
</tr>
</table>
</body>
</html>

上述两种模板写法都输出:

<html>
<title>This is mine</title>
<body bgcolor="#eeeeee">
<table border="3" bgcolor="#bbbbbb">
<tr bgcolor="#cccccc">
    <td>First</td>
    <td>Last</td>
    <td>Address</td>
</tr>
</table>
</body>
</html>

配置文件的变量只有在它们被加载以后才能使用.

希望本文所述对大家基于smarty模板的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP初学入门
Nov 19 PHP
解析左右值无限分类的实现算法
Jun 20 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
php操作csv文件代码实例汇总
Sep 22 PHP
PHP中通过fopen()函数访问远程文件示例
Nov 18 PHP
php制作动态随机验证码
Feb 12 PHP
PHP实现获取客户端IP并获取IP信息
Mar 17 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
Nov 30 PHP
深入理解PHP 数组之count 函数
Jun 13 PHP
php使用parse_str实现查询字符串解析到变量中的方法
Feb 17 PHP
Yii2框架数据验证操作实例详解
May 02 PHP
PHP经典设计模式之依赖注入定义与用法详解
May 21 PHP
基于PHP实现商品成交时发送短信功能
May 11 #PHP
Smarty环境配置与使用入门教程
May 11 #PHP
理解php依赖注入和控制反转
May 11 #PHP
php结合web uploader插件实现分片上传文件
May 10 #PHP
配置Nginx+PHP的正确思路与过程
May 10 #PHP
WordPress中设置Post Type自定义文章类型的实例教程
May 10 #PHP
php+MySQL实现登录时验证登录名和密码是否正确
May 10 #PHP
You might like
PHP超级全局变量数组小结
2012/10/04 PHP
PHP多线程类及用法实例
2014/12/03 PHP
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
jQuery 使用手册(六)
2009/09/23 Javascript
JavaScript 函数式编程的原理
2009/10/16 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
2013/01/15 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
python构造icmp echo请求和实现网络探测器功能代码分享
2014/01/10 Python
Python 基础教程之闭包的使用方法
2017/09/29 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
2020/02/26 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
亚洲领先的设计购物网站:Pinkoi
2020/11/26 全球购物
党员培训思想汇报
2014/01/07 职场文书
秋季运动会通讯稿
2014/01/24 职场文书
承诺书怎么写
2014/03/26 职场文书
指导教师评语
2014/04/26 职场文书
国际商务专业求职信
2014/07/15 职场文书
简易版租房协议书范本
2014/10/13 职场文书
实施意见格式范本
2015/06/05 职场文书
小学语文教师研修日志
2015/11/13 职场文书
详解Django的MVT设计模式
2021/04/29 Python
对Keras自带Loss Function的深入研究
2021/05/25 Python
Python实现拼音转换
2021/06/07 Python
MySQL基于索引的压力测试的实现
2021/11/07 MySQL
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
2022/04/14 Python