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和ACCESS写聊天室(十)
Oct 09 PHP
?算你??的 PHP 程式大小
Dec 06 PHP
火车采集器 免费版使出收费版本功能实现原理
Sep 17 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
Jun 03 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
Jun 06 PHP
PHP 读取大文件的X行到Y行内容的实现代码
Jun 24 PHP
php中数字、字符与对象判断函数用法实例
Nov 26 PHP
php中的观察者模式简单实例
Jan 20 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
Feb 12 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
Mar 22 PHP
PHP使用curl函数发送Post请求的注意事项
Nov 26 PHP
smarty模板数学运算示例
Dec 11 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中的超全局变量
2006/10/09 PHP
php取出数组单个值的方法
2018/03/12 PHP
js jquery做的图片连续滚动代码
2008/01/06 Javascript
JavaScript关于select的相关操作说明
2010/01/13 Javascript
JavaScript 10件让人费解的事情
2010/02/15 Javascript
jQuery之浮动窗口实现代码(两种方法)
2010/09/08 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
Grunt入门教程(自动任务运行器)
2015/08/06 Javascript
Bootstrap表单布局样式源代码
2016/07/04 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
Angular路由ui-router配置详解
2018/08/01 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
理解python正则表达式
2016/01/15 Python
Python正则抓取网易新闻的方法示例
2017/04/21 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
对python 命令的-u参数详解
2018/12/03 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
python支付宝支付示例详解
2019/08/22 Python
用python求一重积分和二重积分的例子
2019/12/06 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
Agoda.com官方网站:便宜预订全球酒店,高达80%的折扣
2018/04/04 全球购物
JD Sports比利时官网:英国领先的运动鞋和运动服饰零售商
2018/10/10 全球购物
公立医院改革实施方案
2014/03/14 职场文书
面试必备的求职信
2014/05/25 职场文书
模特大赛策划方案
2014/05/28 职场文书
委托收款证明
2015/06/23 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis
Python之matplotlib绘制折线图
2022/04/13 Python