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入门源程序
Oct 09 PHP
php基础知识:类与对象(1)
Dec 13 PHP
一个PHP模板,主要想体现一下思路
Dec 25 PHP
php获取mysql版本的几种方法小结
Mar 25 PHP
php 获取远程网页内容的函数
Sep 08 PHP
PHP5.3.1 不再支持ISAPI
Jan 08 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
May 17 PHP
php的memcache类分享(memcache队列)
Mar 26 PHP
PHP实现动态执行代码的方法
Mar 25 PHP
php使用QueryList轻松采集js动态渲染页面方法
Sep 11 PHP
php和vue配合使用技巧和方法
May 09 PHP
使用laravel和ECharts实现折线图效果的例子
Oct 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
将PHP作为Shell脚本语言使用
2006/10/09 PHP
深入php list()函数的详解
2013/06/05 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
2013/11/07 PHP
mantis安装、配置和使用中的问题小结
2014/07/14 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
JavaScript Chart 插件整理
2010/06/18 Javascript
仿淘宝TAB切换搜索框搜索切换的相关内容
2014/09/21 Javascript
用C/C++来实现 Node.js 的模块(二)
2014/09/24 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
2014/10/17 Javascript
jQuery深拷贝Json对象简单示例
2016/07/06 Javascript
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
浅谈Angular2 模块懒加载的方法
2017/10/04 Javascript
超出JavaScript安全整数限制的数字计算BigInt详解
2018/06/24 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
Python调用SQLPlus来操作和解析Oracle数据库的方法
2016/04/09 Python
Python设计模式之抽象工厂模式
2016/08/25 Python
Python做智能家居温湿度报警系统
2018/09/25 Python
python实现简单银行管理系统
2019/10/25 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
使用CSS3的appearance属性改变任何元素的浏览器默认风格
2012/12/24 HTML / CSS
Html5自定义字体解决方法
2019/10/09 HTML / CSS
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
学校校庆演讲稿
2014/05/22 职场文书
幼儿老师求职信
2014/06/30 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
纪委立案决定书
2015/06/24 职场文书
医院感染管理制度
2015/08/05 职场文书
军训后的感想
2015/08/07 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
Java使用Unsafe类的示例详解
2021/09/25 Java/Android