Smarty第一天

基本配置,以及数组和变量的使用和文件调用的基本应用

<?php
 require(“Smarty/Smarty.class.php”);//smarty类文件
 $smarty=new Smarty();//建立smarty实例对象
 $smarty->caching=false;//是否启用缓存,一般在调试的期间需要关闭
 $smarty->template_dir=”./templates”;//设置模板目录,./表示当前目录
 $smarty->compile_dir=”./templates_c”;//设置编译目录
 $smarty->cache_dir=”./smarty_cache”;//缓存文件,如果打开缓存必须设置
 $smarty->left_delimiter=”{“;//左边界符
 $smarty->right_delimiter=”}”;//右边界符
 ?>

index.php页面代码如下

<?php
 include(“config.php”);
 $name=”这里是第一个Smarty例子”;
 $arr[]=array(“name”=>”第1个新闻标题”,”time”=>”2012-04-26″);
 $arr[]=array(“name”=>”第2个新闻标题”,”time”=>”2012-04-26″);
 $arr[]=array(“name”=>”第3个新闻标题”,”time”=>”2012-04-26″);
 $arr[]=array(“name”=>”第4个新闻标题”,”time”=>”2012-04-26″);
 $info=array(“标题”,”作者”);
 $smarty->assign(“info”,$info);
 $smarty->assign(“name”,$name);
 $smarty->assign(“arr”,$arr);
 $smarty->assign(“test”,”真”);
 $smarty->display(“index.htm”);
?>

而模板页面index.htm代码如下

{$name}<br />

<!–循环二位数组输出–> {section name=list loop=$arr} {$arr[list].name}-{$arr[list].time}<br /> {/section}

<hr /> {$info[0]}

<hr /> <!–from是循环的数组名,item设置循环变量,下面为无键值–> {foreach from=$info item=id} {$id} {/foreach} <br /> <!–有键值,key是键,item是值,这就是说把数组里面的键值作为j变量,而值作为i变量(可以这样自己理解)–> {foreach from=$info key=j item=i} {$j}-{$i} {/foreach} <br /> <!–文件引入–> {include file=”head.htm”} <br /> <!–文本处理–> {literal} <script language=”javascript”> <!– document.write(“这里都是js代码”); –> </script> {/literal} <br /> {if $test==’真’} 条件为真执行 {else} 条件为假执行 {/if}

1.注释 模板注释被*号包围,例如 {* this is a comment *} smarty注释将不被输出.它是模板内在的注释.

2.易错 模板中使用变量使用{$id}$前面不能有空格

3.保留变量

Smarty 保留变量的名称

等同的PHP变量

$smarty.get

$_GET

$smarty.post

$_POST

$smarty.request

$_REQUEST

$smarty.session

$_SESSION

$smarty.cookies

$_COOKIE

$smarty.env

$_ENV

$smarty.server

$_SERVER

$smarty.const

利用define函数定义的常量

4.配置文件变量

$smarty->config_dir = 配置文件的路径;

$smarty->config_load(‘var.conf’);//配置文件名

然后在模板页面可以用{#site_title#}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Danny的专栏

【J2SE快速进阶】——Java多线程机制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

10030
来自专栏北京马哥教育

经典!Python运维中常用的几十个Python运维脚本

file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建。但是更推荐使用内置...

44750
来自专栏Porschev[钟慰]的专栏

CodeSmith 创建Ado.Net自定义模版(一)

CodeSmith Ado.Net模版(一) (本文属于入门级,望高手见谅!哈哈) 开始创建自己的ADO.NET模版 本文使用CodeSmith Profess...

19890
来自专栏企鹅号快讯

Python编写渗透工具学习笔记二

1 用pxssh暴力破解ssh密码 因为默认情况下只有linux有ssh服务,所以此脚本只适用于在linux下使用 靶机 10.10.10.128 kali6...

20760
来自专栏抠抠空间

rest_framework之解析器、路由控制、分页

17600
来自专栏LanceToBigData

JavaWeb(一)Servlet中的request与response

一、HttpServletRequest概述 1.1、HttpServletRequest简介   HttpServletRequest对象代表客户端的请求,当...

30680
来自专栏calmound

hust The mell hell

http://acm.sdibt.edu.cn:8080/judge/contest/view.action?cid=573#problem/E 题意:每个人需...

31650
来自专栏用户2442861的专栏

nginx的配置、虚拟主机、负载均衡和反向代理(3)

https://www.zybuluo.com/phper/note/133244

18010
来自专栏逸鹏说道

C# 温故而知新:Stream篇(四)上

FileStream 目录: 如何去理解FileStream? FileStream的重要性 FileStream常用构造函数(重要) 非托管参数SafeFil...

34050
来自专栏大学生计算机视觉学习DeepLearning

c++ 网络编程(四)TCP/IP LINUX/windows下 socket 基于I/O复用的服务器端代码 解决多进程服务端创建进程资源浪费问题

原文链接:https://www.cnblogs.com/DOMLX/p/9613861.html

25460

扫码关注云+社区

领取腾讯云代金券