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 相关文章推荐
linux下 C语言对 php 扩展
Dec 14 PHP
php 获得汉字拼音首字母的函数
Aug 01 PHP
php实现网站插件机制的方法
Nov 10 PHP
Sorting Array Values in PHP(数组排序)
Sep 15 PHP
php实现的ping端口函数实例
Nov 12 PHP
php无限分类使用concat如何实现
Nov 05 PHP
PHP中header用法小结
May 23 PHP
PHP转换文本框内容为HTML格式的方法
Jul 20 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
Jun 17 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
详解PHP用mb_string处理windows中文字符
May 26 PHP
php去除deprecated的实例方法
Nov 17 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 IF ELSE简化/三元一次式的使用
2011/08/22 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
修改发贴的编辑功能
2007/03/07 Javascript
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
js分页工具实例
2015/01/28 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
jQuery图片轮播滚动切换代码分享
2020/04/20 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
2017/02/08 Javascript
js获取ip和地区
2017/03/10 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
vue增加强缓存和版本号的实现方法
2019/05/01 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
[01:04:06]DOTA2上海特级锦标赛A组资格赛#2 Secret VS EHOME第一局
2016/02/26 DOTA
Python 文件读写操作实例详解
2014/03/12 Python
Python自定义一个异常类的方法
2019/06/27 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
python爬虫 Pyppeteer使用方法解析
2019/09/28 Python
python接口自动化如何封装获取常量的类
2019/12/24 Python
如何基于Python创建目录文件夹
2019/12/31 Python
Python如何对齐字符串
2020/07/30 Python
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
给女朋友的道歉信
2014/01/10 职场文书
高中学生干部学习的自我评价
2014/02/21 职场文书
学生评语大全
2014/04/18 职场文书
生产车间标语
2014/06/11 职场文书
群众路线教育实践活动民主生活会个人检查对照思想汇报
2014/10/04 职场文书
节水倡议书
2015/01/19 职场文书
走进毛泽东观后感
2015/06/04 职场文书
爱的教育观后感
2015/06/17 职场文书
班主任远程培训研修日志
2015/11/13 职场文书
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS
MySQL新手入门进阶语句汇总
2022/09/23 MySQL