• assign :分配变量到模板文件(值传递)
  • assignByRef:分配变量到模板文件(引用传递)

assignByRef代码示例:

$smarty = new Smarty();
$name = ‘lisi';
//$smarty -> assign(‘name’,$name);  值传递相当于把lisi复制一份发送到模板页
$smarty -> assignByRef(‘name’,$name);//引用传递,把$name变量的首地址赋值给模版页
$smarty -> display(‘demo7.html’);

append :分配变量到模板数组变量中

示例:

<?php
require “smarty/Smarty.class.php”;
$smarty = new Smarty();
$city = ‘北京';
//通过append方法分配变量到模版文件
$smarty -> append(‘city’,$city);
$smarty -> display(‘demo7.html’);

改写分页程序,如下所示:

$sql = “select id,name,age from stu order by id desc limit $offset,$pagesize”;
$res = mysql_query($sql);
$data = array();
while($arr = mysql_fetch_assoc($res)){
//$data[] = $arr;
$smarty -> append(‘data’,$arr);
}
//通过assign方法分配变量到模版文件
//$smarty -> assign(‘data’,$data);//遍历出来的结果
$smarty -> assign(‘pagecount’,$pagecount);//总页数

  • appendByRef:分配变量到模板数组变量中(引用传递)
  • clearAllAssign:清除所有分配到模板中的变量
  • clearAssign:清除指定的模板变量
  • clearCache:清除缓存
  • configLoad:载入配置文件

引入配置文件如下所示

<?php
require “smarty/Smarty.class.php”;
$smarty = new Smarty();
$smarty -> configLoad(“config.conf”);
$smarty -> display(‘demo7.html’);

  • clearConfig:清除配置变量信息
  • display:显示输出模板信息,如下所示

$smarty -> display(‘demo7.html’);

  • fetch:载入文件到字符串

demo7.php代码示例:

<?php
require “smarty/Smarty.class.php”;
$smarty = new Smarty();
$title = ‘test';
$smarty -> assign(‘title’,$title);
$str = $smarty->fetch(‘demo7.html’);
echo $str;

demo7.html代码示例:

<!DOCTYPE html>
<html>
<head>
<meta charset=’utf-8′>
<title></title>
<script src=”jquery.js”></script>
</head>
<body>
{$title}
</body>
</html>

在实际项目开发中,fetch拥有非常广泛的用途,例如静态化技术

//display有两个功能,1.载入到字符串   2.输出字符串echo
$str = $smarty->fetch(‘demo7.html’);

file_put_contents(“html/”.time().’.shtml’,$str);

  • templateExists :判断当前模板文件是否存在

示例代码如下:

<?php
header(“Content-Type:text/html;charset=utf-8″);
require “smarty/Smarty.class.php”;
$smarty = new Smarty();
$title = ‘test';
$smarty -> assign(‘title’,$title);
if($smarty->templateExists(“demo79.html”)){$smarty -> display(“demo7.html”);
}else{echo “系统正在维护中,稍后会为您提供更好的服务…”;
}

转载于:https://www.cnblogs.com/leigood/p/5033481.html

夺命雷公狗---Smarty NO:23 常用方法相关推荐

  1. 夺命雷公狗---Smarty NO:19 html_options函数

    功能:把数组转化为option下拉选项 基本语法: <select name=customer_id> {html_options values=$cust_ids  selected=$ ...

  2. 夺命雷公狗---Smarty NO:02 几个常用属性

    1)分界符 left_delimiter:左分界符,默认为{ right_delimiter:右分界符,默认为} 在PHP入口文件,我们可以通过设置以上两个属性实现对分界符的定义 $smarty -& ...

  3. 夺命雷公狗---Smarty NO:03 设计篇1

    1.模板注释 基本语法: {* Smarty注释 *} demo.php 示例代码: <?php //1.加载smarty项目入口文件 require "smarty/Smarty.c ...

  4. 夺命雷公狗---Smarty NO:04 设计篇2 变量调节器

    变量调节器主要是对变量进行格式化. 基本格式 {$变量名称|调节器:参数1:参数2:--} 常用的变量调节器: {$var|capitalize} :首字母大写 {$var|count_charact ...

  5. 夺命雷公狗---微信开发26----客服消息接口基础和推送视频

    我们按照上一课的套路继续改写下index.php即可实现,代码如下所示: <?php /*** wechat php test*///define your token require_once ...

  6. 夺命雷公狗---微信开发39----微信语言识别接口1

    语音识别接口的基本介绍 注意: 由于客户端缓存,开发者开启或者关闭语音识别功能,对新关注者立即生效,对已关注用户需要24小时生效,开发者可以从新关注帐号进行测试. 我们可以在测试号下方的体验接口权限表 ...

  7. 夺命雷公狗-----React---5--props对象的传递

    提示:props的值是不可以改变的... <!DOCTYPE html> <html lang="en"> <head><meta cha ...

  8. 夺命雷公狗TP3.2.3商城2-----后台模版引入和后台控制器的创建

    首先我们来到D:\phpStudy\WWW\shop\WEB  目录下,将Home目录进行复制一份,并且改名为Admin,如下所示: 然后将我们准备好的后台首页模版放入   D:\phpStudy\W ...

  9. 夺命雷公狗ThinkPHP项目之----商城1项目整体架构

    夺命雷公狗项目之---商城 本人准备更新套基于tp下开发的商城的项目,为啥呢?原因和简单,本人没使用过框架开发商城,准备用一些时间来开发套B2C的商城系统.. 项目规划: 1:项目整体架构 用户部分 ...

最新文章

  1. 银行的清算、清分、结算、对账
  2. 怎么在Linux中telnet服务器,怎么利用Telnet连接Linux服务器
  3. OpenCV单kinect多帧静止场景的深度图像去噪
  4. fabio负载均衡入门
  5. 设计模式 -(5)装饰模式(结构型)
  6. Hibernate基础
  7. 「2019纪中集训Day7」解题报告
  8. 阿里巴巴Java开发手册建议设置HashMap的初始容量,但设置多少合适呢?
  9. CTO 技术管理的“三板斧”
  10. [Node.js] 使用nodejs操作mysql数据库
  11. php输出多行多列,数据库查询记录php 多行多列显示
  12. java实验6 词频统计_Java实现的词频统计——单元测试
  13. 编写程序,用户输入一个位以上的整数,输出其百位以上的数字。例如用户输入1234.则程序输出12.
  14. 将一个数据插入表中前校验数据是否存在
  15. cygwin清屏技巧
  16. PDF417二维条码生成器 C++
  17. 超级好用又免费的PDF编辑器
  18. CV学习笔记-BP神经网络代码Python实例
  19. POC会成为下一个POW吗?
  20. bootstraptable treegrid

热门文章

  1. 统信UOS arm平台用户,是时候告别网页版微信​了!
  2. 【教程】VMware创建虚拟机教程
  3. 胡晓明:计算,探索未知的价值
  4. 如何打造个人IP?如何通过个人品牌实现年入百万?身价上亿亲自讲解
  5. 从苹果到索尼:六大生态系统的崛起
  6. C++設計模式——觀察者模式
  7. 80年来最强龙卷风袭击古巴首都 致4死195伤
  8. 基于数字孪生的变电站三维全息研判智慧联动研究
  9. 应收账款的清帐和对账
  10. 概统 | 连续型概率分布——正态分布(二维)