smarty模板引擎从php中获取数据的方法


Posted in PHP onJanuary 22, 2015

本文实例讲述了smarty模板引擎从php中获取数据的方法。分享给大家供大家参考。具体如下:

smarty可以分配($smarty->assign)的变量类型:所有php支持的数据类型——基本数据类型、复合数据类型、特殊数据类型(具体见smarty相关手册)。

操作/显示文件:index.php

<?php

//创建smarty对象

require_once("./libs/Smarty.class.php");

$smarty = new Smarty();

$smarty->assign("aa","hello word");//分配字符串

$smarty->assign("bb",123);//分配整型

$smarty->assign("cc",90.8);//分配float型,浮点型

$smarty->assign("dd",true);//分配字符串

//分配数组,数组一般从数据库取出,这里直接给数组

$arr1 = array("北京","上海","广州");//索引数组

$smarty->assign("arr1",$arr1);//分配索引数组
$arr2 = array("city1"=>"北京","city2"=>"上海","city3"=>"广州");//关联数组

$smarty->assign("arr2",$arr2);//分配关联数组
$arr3 = array(array("北京","上海","广州"),array("关羽","张飞","美女"));

$smarty->assign("arr3",$arr3);
$arr4 = array("aa"=>array("北京","上海","广州"),"bb"=>array("关羽","张飞","美女"));

$smarty->assign("arr4",$arr4);
//对象类型

class Master{

 public $name;

 public $address;

}

$master = new Master();

$master->name="百度";

$master->address = "中关村";

class Dog{

 public $name;

 public $age;

 public $color;

 public $arr;

 public $master;

 function __construct($name,$age,$color,$arr){

  $this->name = $name;

  $this->age = $age;

  $this->color = $color;

  $this->arr = $arr;

 }

}

$dog = new Dog("小狗",4,"金黄色",$arr2);

$dog->master = $master;

$smarty->assign("dog",$dog);
$smarty->display("index.tpl");

?>

模板文件:index.tpl

<html>

<h2>smarty变量操作</h2>

<p style="color:green;">取字符串:{$aa}</p>

<p style="color:red;">取整数:{$bb}</p>

<p style="color:blue;">取浮点型:{$cc}</p>

<p style="color:orange;">取布尔值:{$dd}</p>

<p style="color:indigo;">取数组(索引数组):{$arr1[0]}--{$arr1[1]}--{$arr1[2]}</p>

<p style="color:green;">取数组(关联数组):{$arr2.city1}--{$arr2.city2}--{$arr2.city3}</p>

<p style="color:red;">取二组数组(索引,取单个):{$arr3[0][0]}</p>

<p style="color:red;">取二组数组(索引,遍历全部):</p>

<p style="color:blue;">取二维数组(关联):{$arr4.aa[2]}</p>

<p style="color:blue;">取二维数组(关联、遍历):</p>

<p style="color:orange;">取对象(普通属性):{$dog->name}</p>

<p style="color:orange;">取对象(数组属性):{$dog->arr.city1}</p>

<p style="color:orange;">取对象(对象属性):{$dog->master->name}</p>

</html>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP与SQL注入攻击防范小技巧
Sep 16 PHP
php中serialize序列化与json性能测试的示例分析
Apr 27 PHP
深入分析php之面向对象
May 15 PHP
php+mysqli使用面向对象方式更新数据库实例
Jan 29 PHP
PHP微信开发之二维码生成类
Jun 26 PHP
PHP简单预防sql注入的方法
Sep 27 PHP
PHP foreach遍历多维数组实现方式
Nov 16 PHP
php实现与python进行socket通信的方法示例
Aug 30 PHP
总结PHP内存释放以及垃圾回收
Mar 29 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
Mar 23 PHP
TP5框架实现的数据库备份功能示例
Apr 05 PHP
PHP高并发和大流量解决方案整理
Mar 09 PHP
smarty模板引擎中变量及变量修饰器用法实例
Jan 22 #PHP
smarty内置函数capture用法分析
Jan 22 #PHP
smarty内置函数config_load用法实例
Jan 22 #PHP
smarty内置函数foreach用法实例
Jan 22 #PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
Jan 22 #PHP
smarty内置函数section的用法
Jan 22 #PHP
smarty自定义函数htmlcheckboxes用法实例
Jan 22 #PHP
You might like
中东人咖啡哲学
2021/03/03 咖啡文化
PHP 字符串 小常识
2009/06/05 PHP
php 编写安全的代码时容易犯的错误小结
2010/05/20 PHP
php强制下载类型的实现代码
2011/04/21 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
2014/12/17 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
php封装的page分页类完整实例代码
2020/02/01 PHP
jQuery Ajax使用 全解析
2010/12/15 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
$.extend 的一个小问题
2015/06/18 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
js中利用cookie实现记住密码功能
2020/08/20 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
浅谈sass在vue注意的地方
2017/08/10 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
2018/10/18 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
vue配置文件实现代理v2版本的方法
2019/06/21 Javascript
javascript canvas实现简易时钟例子
2020/09/05 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
python比较2个xml内容的方法
2015/05/11 Python
Python使用python-docx读写word文档
2019/08/26 Python
python双向链表原理与实现方法详解
2019/12/03 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
解决python中0x80072ee2错误的方法
2020/07/19 Python
简单了解Python字典copy与赋值的区别
2020/09/16 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
2014年员工工作总结范文
2014/11/18 职场文书
升学宴家长答谢词
2015/09/29 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
MySQL中rank() over、dense_rank() over、row_number() over用法介绍
2022/03/23 MySQL