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 上一篇,下一篇文章实现代码与原理说明
May 09 PHP
php设计模式 Singleton(单例模式)
Jun 26 PHP
php中的三元运算符使用说明
Jul 03 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
Jun 06 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
Aug 09 PHP
PHP函数实现分页含文本分页和数字分页
Oct 23 PHP
php中smarty变量修饰用法实例分析
Jun 11 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
Dec 19 PHP
PHP实现的回溯算法示例
Aug 15 PHP
PHP array_reduce()函数的应用解析
Oct 28 PHP
在thinkphp5.0路径中实现去除index.php的方式
Oct 16 PHP
PHP7 弃用功能
Mar 09 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
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
php线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
用PHP和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
Laravel中GraphQL接口请求频率实战记录
2020/09/01 PHP
javascript小数计算出现近似值的解决办法
2010/02/06 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
js实现的复制兼容chrome和IE
2014/04/03 Javascript
AngularJS模块学习之Anchor Scroll
2016/01/19 Javascript
封装属于自己的JS组件
2016/01/27 Javascript
轻量级jQuery插件slideBox实现带底栏轮播(焦点图)代码
2016/03/28 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
2016/06/21 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
深入理解React高阶组件
2017/09/28 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
Python显示进度条的方法
2014/09/20 Python
在Python中处理字符串之ljust()方法的使用简介
2015/05/19 Python
Python 获得13位unix时间戳的方法
2017/10/20 Python
Python切片工具pillow用法示例
2018/03/30 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
python实现大转盘抽奖效果
2019/01/22 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
浅谈python锁与死锁问题
2020/08/14 Python
模范教师事迹材料
2014/02/10 职场文书
书法兴趣小组活动总结
2014/07/07 职场文书
党员个人查摆剖析材料
2014/10/16 职场文书
2015年教师节慰问信
2015/03/23 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python