Smarty模板重点回顾:
1、功能:前后端分离;
2、实现方法:通过使用Smarty的核心类来实现,利用display方法来读取模板文

件,用正则进行替换,替换完保存到临时文件,再将临时文件加载到当前页面显

示;
3、配置文件(入口文件):对Smarty类进行实例化,规定文件存放路径;
4、如果要在页面中使用Smarty模板,需要将配置文件引入到页面中
5、浏览器要访问的页面是后台页面(.PHP),最终显示在浏览器中的是模板页
面(.html或.tpl)
6、模板页面中的文件路径都是相对于后台页面,如果不使用相对路径,可以使

用绝对路径;
7、模板里显示的变量
(1)变量要写在Smarty标记中间,变量名以$开头;
(2)支持所有类型的数据,包括数组(关联数组)、对象
8、关联数组在模板显示的时候,除了可以使用PHP语法,还可以使用点方法进行

调用
9、模板里面读取配置文件
(1)将配置文件加载到当前页面
<{config_load file='test.conf'}>
(2)读取配置文件中的内容
<{#color#}>
(3)如果配置文件中分了块,读取某一块的配置的方法
<{config_load file='test.conf' section='块名'}>
10、Smarty保留变量
$smarty.const 读取常量 例如:CSS,JS,图片的存放路口
11、变量调节器
关键字:modifier
(1)系统自带的变量调节器:转大写[upper] 转小写[lower] 首字母大写

[capitalize] 截取字符串[truncate] 拼接字符串[cat] 替换[replace]
调用方法:<{$变量名|调节器名}>
(2)自定义变量调节器:
变量调节器存放目录下新建文件:modifier.调节器名称.php
在该文件里面新建一个方法:function smarty_modifier_调节器名($str){}
$str参数代表调用该调节器的变量
最后该方法要有一个返回值
12、函数
关键字:function普通函数,block块函数
(1)系统自带的函数:追加[append] 赋值[assign] 继承[extends] 循环[for]

遍历[foreach],[foreachelse]
调用方法:
<{foreach $shuzu as $v或$k}>

<{$v@index}> 从0开始的索引
<{$v@first}> 代表是第一个循环的
<{$v@last}> 代表是最后一个循环的

<{/foreach}>

条件[if][elseif][else]
调用方法:

<{if 条件}>
满足条件输出内容
<{else}>
不满足条件输出内容
<{/if}>

<{if 条件1}>
满足条件输出内容
<{elseif 条件2}>
不满足条件1满足条件2执行
<{/if}>

比较的时候,有备用词可以使用

(2)自定义函数
找到存放函数插件的文件夹在里面新建文件:function.函数名.php (block.函

数名.php)
在该文件里面新建一个方法:function smarty_function_函数名($args){}
function smarty_block_函数名($args,$nr,$smarty,$bs){}

参数$args:调用该函数传入的属性关联参数
参数$nr:block块之间所夹的内容
参数$smarty:对象
参数$bs:是否是第一次调用(开始标记里面调用)

该方法最终有返回值

13、模板继承

extends   block

父模板:一般用来放网页的头和尾
需要预留一定的区域来让子页面修改替换
使用<{block name='neirong'}><{/block}>
一般来说,父模板里面至少预留两块区域,其中一块是在head里面 另一块是在

body里面

子页面:一般继承父模板所有,存放该页面需要实现的功能的代码
<{extends file='文件名'}>
完善替换父模板中预留的区域:
<{block name='模块名'}>  —— 开头

中间填写数据

<{/block}>  —— 结尾

14、缓存:

做法:
(1)定义一个缓存文件存放的路径  $filename="文件路径"
(2)判断缓存文件是否存在或者是否过期  file_exists($filename)
(3)如果文件不存在或过期:
开启内存缓存 ob_start();
取内存中的内容 ob_get_contents();
将内容存放到缓存文件中 file_put_contents();
关闭内存缓存 ob_flush();
(4)如果文件存在或没有过期:
将缓存文件引入当前页面 include();

Smarty模板重点汇总的更多相关文章

  1. Smarty模板技术学习(二)

    本文主要包括以下内容 公共文件引入与继承 内容捕捉 变量调剂器 缓存 Smarty过滤器 数据对象.注册对象 与已有项目结合 公共文件引入与继承 可以把许多模板页面都用到的公共页面放到单独文件里边,通 ...

  2. smarty详细使用教程(韩顺平smarty模板技术笔记)

    MVC是一种开发模式,强调数据的输入.处理.显示是强制分离的 Smarty使用教程1.如何配置我们的smarty解压后把libs文件夹放在网站第一级目录下,然后创建两个文件夹templates 存放模 ...

  3. php教程之Smarty模板用法实例

    分享下php之Smarty模板的使用方法. 剖析了smarty模板的使用方法,对于学习smarty的朋友有一定的参考价值. 详情如下: 一.模板中的注释每一个Smarty模板文件,都是通过Web前台语 ...

  4. PHP Smarty模板的安装

    最近开发中用到了PHP中smarty模板..作为一个长久以来的前端,开始学习PHP模板..下面将安装教程分享给大家.. 1. 下载Smarty最新版: http://www.smarty.NET/do ...

  5. ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案

    好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...

  6. 12月15日下午Smarty模板函数

    1.{$var=...} 这是{assign}函数的简写版,你可以直接赋值给模版,也可以为数组元素赋值. <{$a = 10}><!--赋值语句--> <{$a}> ...

  7. 12月15日smarty模板基本语法

    smarty基本语法: 1.注释:<{* this is a comment *}>,注意左右分隔符的写法,要和自己定义的一致. <{* I am a Smarty comment, ...

  8. SMARTY模板中如何使用get,post,request,cookies,session,server变量

    {$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间戳.直接访问PHP中 ...

  9. ThinkPHP3.2.3整合smarty模板(二)

    前言:继ThinkPHP3.2.3整合smarty模板(一)之后,继续来探讨一下tp框架整合smarty模板,看到有人在群上问到怎么使用自定义的常量,今天就具体来谈谈: 一.开发一个项目,必不可少会用 ...

随机推荐

  1. element的el-tabs控制,以及el-select 多选默认值

    一.el-tabs 1.element自己已经封装好了,当切换时v-model的值自动切换为el-tabs-pane的name对应的值. 如下: <el-tabs v-model='active ...

  2. Shell脚本之:字符串

    字符串可以用单引号,也可以用双引号,也可以不用引号. 单引号 str='this is a string' 单引号字符串的限制: 1.单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的: 2 ...

  3. objc_msgSend 报错

    NSMutableArray * mutableArray = [NSMutableArray arrayWithArray:array]; objc_msgSend(mutableArray,@se ...

  4. Oracle SQL 查询优化.Part4

    一.插入 insert 操作: 1. 复制表结构但不新增数据: -- 复制表结构但不插入数据 create table emp_new as select * from emp where 1 = 2 ...

  5. XJTU Summer Holiday Test 1(Divisibility by Eight-8的倍数)

    C - Divisibility by Eight Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & ...

  6. CocoaPods Podfile详解与使用

    1.为什么需要CocoaPods 在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson.AFNetworking.Reachability等等.使用这些库的时候通常需要: 下载开源库的 ...

  7. Golang程序性能分析

    前言 程序性能分析我相信是每个程序员都会遇到的问题,比如说一个程序的CPU为什么占用这么高?有没有优化的空间?又比如程序出现了内存泄漏如何排查等等.如果是C++程序会借助于Google pprof c ...

  8. MongoDB查询语句(转)

    目录 查询操作 集合查询方法 find() 查询内嵌文档 查询操作符(内含 数组查询) "$gt" ."$gte". "$lt". &quo ...

  9. 九度OJ 1022:游船出租 (统计)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3670 解决:1444 题目描述:     现有公园游船租赁处请你编写一个租船管理系统.当游客租船时,管理员输入船号并按下S键,系统开始计时 ...

  10. React-Native开源项目学习

    https://github.com/liuhongjun719/react-native-DaidaiHelperNew 借贷助手https://github.com/liuhongjun719/r ...