Smarty模板重点汇总
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模板重点汇总的更多相关文章
- Smarty模板技术学习(二)
本文主要包括以下内容 公共文件引入与继承 内容捕捉 变量调剂器 缓存 Smarty过滤器 数据对象.注册对象 与已有项目结合 公共文件引入与继承 可以把许多模板页面都用到的公共页面放到单独文件里边,通 ...
- smarty详细使用教程(韩顺平smarty模板技术笔记)
MVC是一种开发模式,强调数据的输入.处理.显示是强制分离的 Smarty使用教程1.如何配置我们的smarty解压后把libs文件夹放在网站第一级目录下,然后创建两个文件夹templates 存放模 ...
- php教程之Smarty模板用法实例
分享下php之Smarty模板的使用方法. 剖析了smarty模板的使用方法,对于学习smarty的朋友有一定的参考价值. 详情如下: 一.模板中的注释每一个Smarty模板文件,都是通过Web前台语 ...
- PHP Smarty模板的安装
最近开发中用到了PHP中smarty模板..作为一个长久以来的前端,开始学习PHP模板..下面将安装教程分享给大家.. 1. 下载Smarty最新版: http://www.smarty.NET/do ...
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...
- 12月15日下午Smarty模板函数
1.{$var=...} 这是{assign}函数的简写版,你可以直接赋值给模版,也可以为数组元素赋值. <{$a = 10}><!--赋值语句--> <{$a}> ...
- 12月15日smarty模板基本语法
smarty基本语法: 1.注释:<{* this is a comment *}>,注意左右分隔符的写法,要和自己定义的一致. <{* I am a Smarty comment, ...
- SMARTY模板中如何使用get,post,request,cookies,session,server变量
{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间戳.直接访问PHP中 ...
- ThinkPHP3.2.3整合smarty模板(二)
前言:继ThinkPHP3.2.3整合smarty模板(一)之后,继续来探讨一下tp框架整合smarty模板,看到有人在群上问到怎么使用自定义的常量,今天就具体来谈谈: 一.开发一个项目,必不可少会用 ...
随机推荐
- 应用设置Setting的实现
有非常多应用都在iOS设置中有相关的设置.例如以下图: 通过这个设置能够方便的相应用的一些主要的设置进行更改. 要完整的实现这个设置功能,有下面几方面问题须要解决: 1)设置的编写(实现设置的 ...
- 设计模式之MVC设计模式初阶
MVC M:Model(数据) V:View(界面) C:Control(控制) 1⃣️Control可以直接访问View和Model 2⃣️View不可以拥有Control和Model属性,降低耦合 ...
- int a; int* a; int** a; int (*a)[]; int (*a)(int)
a) int a;表示一个内存空间,这个空间用来存放一个整数(int):b) int* a;表示一个内存空间,这个空间用来存放一个指针,这个指针指向一个存放整数的空间,即a)中提到的空间:c) int ...
- swift菜鸟入门视频教程-05-控制流
本人自己录制的swift菜鸟入门.欢迎大家拍砖.有什么问题能够在这里留言. 主要内容: For 循环 While 循环 条件语句 控制转移语句(Control Transfer Statements) ...
- Laravel 5.4的本地化
简介 Laravel 的本地化功能提供方便的方法来获取多语言的字符串,让你的网站可以简单的支持多语言. 语言包存放在 resources/lang 目录下的文件里.在此目录中应该有应用对应支持的语言并 ...
- 通俗的理解java的堆和栈
堆 可以把堆理解为一家餐厅,里面有200张桌子,也就是最多能同时容纳200桌客人就餐,来一批客人就为他们安排一些桌子,如果某天来的客人特别多,超过200桌了,那就不能再接待超出的客人了.当然,进来吃饭 ...
- LOL英雄联盟代打外挂程序-java实现
相信非常多程序员都玩游戏,比方LOL :有时候想打人机对战(玩家对战小心别人举报你! ),纯属为了拿经验和金币,而本身不想玩,但假设玩家不操作.那么非常快就会被系统觉得是挂机,从而得不到经验和金币.所 ...
- ubuntu apt 主要命令及参数
1. apt-cache search package 搜索安装包 2. apt-cache search all 搜索所有安装包 3. apt-cache show package 显示安装包信息 ...
- eclipse tomcat maven
jdk jre eclipse 略过 下载maven和tomcat 上apache官网下载maven:http://maven.apache.org/download.cgi. 上apache官网下载 ...
- ES6之路
从工作到现在,虽然是PHP出身,一直都和JS形影不离,从JQ和原生处理页面,到后来被angular1的MVVM模式惊艳到,再到弃angular转战vue,到现在使用react,一路走来,跳坑无数,现在 ...