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 相关文章推荐
9个PHP开发常用功能函数小结
Jul 15 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
Jul 16 PHP
php stream_get_meta_data返回值
Sep 29 PHP
PHP反射使用实例和PHP反射API的中文说明
Jul 02 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
php字符串替换函数substr_replace()用法实例
Mar 17 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
php一个解析字符串排列数组的方法
May 12 PHP
linux下为php添加iconv模块的方法
Feb 28 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
php组合排序简单实现方法
Oct 15 PHP
thinkPHP5框架分页样式类完整示例
Sep 01 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
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
php代码收集表单内容并写入文件的代码
2012/01/29 PHP
php读取3389的脚本
2014/05/06 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
2019/04/23 PHP
javascript继承机制实例详解
2014/11/20 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
Vue.js表单控件实践
2016/10/27 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
2017/06/01 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
微信小程序模板(template)使用详解
2018/01/31 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
使用Python编写vim插件的简单示例
2015/04/17 Python
Windows下为Python安装Matplotlib模块
2015/11/06 Python
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
Python正则表达式如何进行字符串替换实例
2016/12/28 Python
python基础练习之几个简单的游戏
2017/11/10 Python
python读取视频流提取视频帧的两种方法
2020/10/22 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
2018/11/18 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
耐克中国官方商城:Nike中国
2018/10/18 全球购物
高等教育学自荐书范文
2014/02/10 职场文书
房地产活动策划方案
2014/05/14 职场文书
测量员岗位职责
2015/02/14 职场文书
毕业论文致谢格式模板
2015/05/14 职场文书
导游词之贵州百里杜鹃
2019/10/29 职场文书
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS