p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Verdana }
span.s1 { }

Smarty简介

Smarty是一个PHP的模板引擎。更明确来说,它可以帮助开发者更好地分离程序逻辑和页面显示。业务逻辑和显示逻辑分离,是Smarty的一个设计理念。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Verdana }
li.li1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Verdana }
li.li2 { margin: 0.0px 0.0px 14.0px 0.0px; font: 14.0px Verdana }
span.s1 { }
span.s2 { text-decoration: underline; color: #9b410e }
span.s3 { font: 14.0px Monaco }
span.s4 { font: 14.0px Monaco; text-decoration: underline; color: #9b410e }
span.s5 { color: #9b410e }
span.s6 { text-decoration: underline }
ul.ul1 { list-style-type: disc }

Smarty的一些特性:

  • 非常快速。
  • 比PHP内嵌到HTML中的做法要有效率的多。
  • 无模板解析的开销,只编译一次。
  • 仅当模板文件被修改后才会聪明地重新编译
  • 你可以很容易创建自己的函数变量修饰器,非常具有可扩展性。
  • 可配置的模板定界符语法{delimiter}, 你可以使用{$foo}, {{$foo}}, <!--{$foo}-->等等。
  • 条件判断语句{if}..{elseif}..{else}..{/if} 会直接使用PHP解析,所以{if...}后可以是简单或者较复杂的表达式。
  • 支持无限的sections, if等的嵌套。
  • 内置缓存支持。
  • 任意的模板源。
  • 模板继承 可以轻松管理模板和内容。
  • 插件 架构。

smarty缓存和页面静态化都是页面缓存技术,区别是smarty缓存是临时性的,静态化是永 久性的,可以通过组合互补达到比较好的性能优化效果。而memcache是内存对象缓存系统,与前两种比不是文件级别的缓存,而是内存级别的缓存。

smarty的使用

第1步:加载Smarty模板引擎,如:require 'libs/Smarty.class.php'
第2步:创建Smarty对象,如:$smarty = new Smarty();
第3步:修改Smarty默认行为,如:开启缓存、模板的存放路径等
第4步:将程序中取得的数据通过Smarty对象的assign()方法赋值给模板中相应的变量
第5步:用Smarty对象的display()方法将模板内容输出

Smarty3.1.3安装使用具体使用步骤如下:

1.首先解压Smarty3.1.3 ,其中有一个libs文件夹,把该文件夹重命名为smarty。

2.在htdocs下建一个study文件夹作为网站根目录,然后把smarty文件复制到网站的根目录下,在study下还需要新建以下几个文件夹(名字随便起,但是要与下一步的配置一一对应):templates(用于存放模版的目 录)、templates_c(用于存放编译后文件的目录)、cache(用于存放缓存的目录)、config(用于存放配置的目录)

3.在config文件夹下建立配置文件:smarty.inc.php,内容如下:

  include("./smarty/Smarty.class.php");//引入文件类
  $tpl=new Smarty();
  $tpl->template_dir="./templates";//指定模版存放目录
  $tpl->compile_dir="./templates_c";//指定编译文件存放目录
  $tpl->config_dir="./config";//指定配置文件存放目录
  $tpl->cache_dir="./cache";//指定缓存存放目录

  $tpl->caching=false;//关闭缓存(设置为true表示启用缓存)
  //$tpl->cache_lifetime=60*60*24;
  $tpl->left_delimiter='{';//指定左标签
  $tpl->right_delimiter='}';//指定右标签

4.在templates文件夹下新建一个test.tpl测试模板文件,代码如下:

  <html>
  <head>
  <meta http-equiv="content-type" content="text/html;charset=utf8">
  <title>{$title}</title>
  </head>
  <body style="font-size:50px">
  {$content}
  </body>
  </html>

5..在study下建index.php文件,代码如下:

  <?php
  require("config/smarty.inc.php");//引入配置文件
  $title="Smarty";//定义变量
  $content="抬头挺胸,明天这个世界是我的";
  $tpl->assign("title",$title);//用定义的变量替换模板中的变量
  $tpl->assign("content",$content);
  $tpl->display('test.tpl');//显示模板文件
  ?>

6.在浏览器地址栏中输入:http://localhost/study/index.php,输出“抬头挺胸,明天这个世界是我的”。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Verdana }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Verdana; background-color: #fefef2 }
span.s1 { }
span.s2 { font: 16.0px Arial; color: #222222 }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #333333; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #333333; background-color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #333333; background-color: #ffffff; min-height: 16.0px }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Arial; color: #333333; background-color: #ffffff }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Arial; color: #333333; background-color: #ffffff; min-height: 14.0px }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Arial; color: #336699; background-color: #ffffff; min-height: 14.0px }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #333333; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #333333; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #333333; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #333333; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Arial; color: #222222; background-color: #fefef2 }
span.s1 { }
span.s2 { text-decoration: underline; color: #075db3 }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #333333; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Arial; color: #333333; background-color: #ffffff }
span.s1 { }

Smarty3.1.3安装使用的更多相关文章

  1. Smarty3.1.8 安装

    应用环境:Winsows7 IIS + PHP5.5.12 + Smarty3.1.8 1. IIS 及 PHP 安装,参照<php手册>,这里不做细表. 2. 假定应用目录为 C:\in ...

  2. smarty课程---smarty3的安装和使用

    smarty课程---smarty3的安装和使用 一.总结 一句话总结:smarty 是什么,就不多说了,用过php,接触过php的人都对smarty 再熟悉不过了.它是一个很强大的代码分离软件,作为 ...

  3. smarty3.0中文手册文档API及使用指南

    1.安装Smarty3.0一.什么是smarty?smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变 ...

  4. 安装与使用smarty

    1.安装 下载最新的smarty.下载地址:http://www.smarty.net/download 下载成功后,解压压缩包后的文件如图所示: 将解压后的文件存放在web文档根目录外的某个位置.w ...

  5. Php模板引擎Smarty安装和配置

    Smarty 是PHP的一个模板引擎,是由Monte Ohrt 和 Andrei Zmievski 使用PHP语言开发的,发展至今已成为一个非常流行的模板引擎,Smarty 提供了一种易于管理和使用的 ...

  6. docker——容器安装tomcat

    写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...

  7. 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法

    如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...

  8. Sublime Text3安装JsHint

    介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...

  9. Fabio 安装和简单使用

    Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...

随机推荐

  1. ROM、SDRAM、RAM、DRAM、SRAM、FLASH区别

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  2. Redis持久化磁盘IO方式及其带来的问题   有Redis线上运维经验的人会发现Redis在物理内存使用比较多,但还没有超过实际物理内存总容量时就会发生不稳定甚至崩溃的问题,有人认为是基于快照方式持

    转自:http://blog.csdn.net/kaosini/article/details/9176961 一.对Redis持久化的探讨与理解    redis是一个支持持久化的内存数据库,也就是 ...

  3. apache日志管理【转】

    web服务器日志轮循比较好的方式有三种:第一种方法是利用Linux系统自身的日志文件轮循机制:logrotate:第二种方法是利用apache自带的日志轮循程序rotatelogs:第三种是使用在ap ...

  4. linux_nginx_rewrite

    什么是Nginx的rewrite? 实现URL地址重写,比较复杂的write需要开发来完成,伪静态处理实现是开发的工作, 这rewrite写在location中 指令语法:    rewrite re ...

  5. springmvc配置文件配置的事务作用范围

    作用于service,不是controller,也不是mapper.所以,要保证原子性,就放在一个serviceimpl里,而不要放在一个controller 里 第一次与数据库打交道时,事务开启,s ...

  6. BST,AVL,B,B+,B*,红黑树

    BST(右)和AVL(左) 比较:AVL树每个结点的左右子树的深度差的绝对值不大于1 B - tree 特点:所有结点都包含数据信息,不同查询的效率不同,特殊的:二阶B树就是AVL,三阶B树就是2-3 ...

  7. win10的系统下怎么设置网页的字体变大

    对于 EDGE 浏览器: 点击右上角的设置图标(三个小点)--缩放,点击 + 号放大字体.   本回答由提问者推荐

  8. 解决C#编译中"csc不是内部或外部命令"的问题

    安装完 VisualStudio 编译环境后,是不能用命令行直接编译写好的csc文件的,如果不配置环境变量,在命令提示符(cmd)中编译扩展名为cs的文件,会出现错误提示"csc不是内部或外 ...

  9. Ubuntu16.04下伪分布式环境搭建之hadoop、jdk、Hbase、phoenix的安装与配置

    一.准备工作 安装包链接: https://pan.baidu.com/s/1i6oNmOd 密码: i6nc 环境准备 修改hostname: $ sudo vi /etc/hostname why ...

  10. 修改Java程序的进程名

    1.修改tomcat进程名字: 当同一个服务器上启动多个tomcat后,我们会在任务管理器中看见多个java.exe,当我们需要对某个tomcat进行监控时,却无法区分出该tomcat的进程,那么如何 ...