模板是可复用代码的衍生概念。

模板使页面与代码分离。

模板方便制作不同语言版本。

模板提高开发速度和性能。

发展历史

¨内嵌PHP代码

¨分离通用代码

¨解释型模板体系

¨编译型模板体系

¨缓存模板体系

两种模板引擎

¨需程序处理的模版引擎程序开发者必须要负责变量的呈现逻辑,也就是说他必须把变量的内容在输出到模版前先处理好,才能做assign的工作。

完全由模版本身自行决定的模版引擎

Smarty优点

¨速度快

¨编译行

¨缓存技术:Smarty可以缓存成一个静态的HTML页

¨插件技术:实际上就是可以编辑‘自定义函数’和自定义

‘变量’

¨模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。

Smarty不适合

¨实时刷新的内容

¨小型网站

Smarty安装

¨拷贝libs

¨/libs Smarty的功能类目录

/tempalates 模板文件目录

/templates_c 模板缓存文件目录

/configs 配置文件目录

/cache 缓存文件目录

模板文件

charset=gb2312” />

{$title}

{$content}

PHP文件

include_once(“libs/Smarty.class.php"); //包含smarty类文件

$smarty = new Smarty(); //创建smarty对象

$smarty->template_dir = "./templates"; //设置模板目录

$smarty->compile_dir = "./templates_c"; //设置编译目录

$smarty->left_delimiter = "{"; //定义左边界符

$smarty->right_delimiter = "}"; //定义右边界符

$smarty->assign(“title”, “Hello”); //进行模板变量替换

$smarty->assign(“content”, “Hello, World”); //进行模板变量替换

$smarty->display("index.tpl"); //编译并显示

?>

其他设置

¨$smarty->cache_dir = "cache";

¨$smarty->cache_lifetime = 60 * 60 * 24;

¨$smarty->caching = 1;

基本语法

¨注释: {* 注释内容*}

¨变量: {$变量名}

¨索引数组: {$数组名[索引]}

¨关联数组: {$数组名.元素名}

¨对象: {$对象名->属性名}

¨函数: {函数名称[ 参数名1=值1[ 参数名2=值2]]}

从配置文件引用的变量

¨配置文件名为: *.conf

¨在模板中引入:{config_load file="配置文件

名.conf"}

¨在模板中的变量标签:{#变量名#}或

{$smarty.config.变量名}

变量调节器

¨{$变量名|调节器名} //用于变量

¨{“字符串”|调节器名} //用于字符串

¨{函数名|调节器名函数的参数名=值} //用于函

¨{$变量名|调节器名1[|调节器名2|...]} //使用多

个调节器

条件

¨条件表达式与PHP中相同即可

¨{if 条件表达式1}

内容1

[{elseif 条件表达式2}

内容2

{else}

内容3]

{/if}

输出内容

¨'{'字符: {ldelim} }'字符: {rdelim}

¨{literal}{/literal} 里面的文本内容将不会被模板

引擎解析,原样输出

¨{php}php语句;{/php}

输出内容

¨'{'字符: {ldelim} }'字符: {rdelim}

¨{literal}{/literal} 里面的文本内容将不会被模板

引擎解析,原样输出

¨{php}php语句;{/php}

循环

¨{foreach from=$数组名item=当前元素的变量

名称[ key=当前元素的键名] }

循环体...

{$当前元素的变量名称}

{foreachelse}

循环不执行时语句

{/foreach}

输出内容

¨'{'字符: {ldelim} }'字符: {rdelim}

¨{literal}{/literal} 里面的文本内容将不会被模板

引擎解析,原样输出

¨{php}php语句;{/php}

{section name = name loop =

$varName[ start = $start step = $step max =

$max show = true]}

¨name: section的名称,不用加$

输出内容 ¨'{'字符: {ldelim} }'字符: {rdelim} ¨{literal}{/literal} 里面的文本内容将不会被模板 引擎解析,原样输出 ¨{php}php语句;{/php}

php 模板对象,php面向对象--PHP模板 ppt相关推荐

  1. c++新特性之模板 对象

    目录 模板 外部模板 尖括号 类别名 默认模板参数 变长参数模板 解包 折叠表达式 面向对象 委托构造 继承构造 显式禁用默认函数 强枚举类型 模板 C++ 的模板一直是这门语言的一种特殊的艺术,模板 ...

  2. Spring模板对象之RedisTemplate(Spring整合jedis)

    Spring模板对象之RedisTemplate 构建maven项目 pom <?xml version="1.0" encoding="UTF-8"?& ...

  3. Spring模板对象

    Spring模块对象: 把共性的方法抽取出来固定为一个模板,后续再操作只需要填充内容即可. 比如:淘宝每次买东西都要填写地址,只是每次买的东西不一样,所以可以做一个默认地址,每次买东西都要去选商品就行 ...

  4. “模板”学习笔记(7)-----数组模板+对象数组举例

    我们可以定义一个数组模板,并且利用该模板声明其数组成员.声明的方式非常简单,主需要一下两步: template<class ElementType,int n>; ElementType ...

  5. ❤️再也不用担心PPT模板下载问题,python爬虫 PPT模板批量下载❤️

    最近工作中要使用PPT,但是模板搞不定怎么办,嘿嘿,直接批量下载,各种模板随便安排. 找了很多PPT模板网站,发现大多数网站都要登陆和vip才可以下载到想要的模板.后来发现这个网站不需要登陆和vip也 ...

  6. 计算机专业毕业设计论文答辩PPT模板,10套计算机毕业设计答辩PPT模板

    计算机专业毕业设计论文答辩PPT模板,10套计算机毕业设计答辩PPT模板 完整PPT模板包下载地址:计算机专业毕业设计论文答辩PPT模板 PPT模板预览 完整PPT模板包下载地址:10套计算机毕业设计 ...

  7. 条形码设计软件BarTender实用教程——模板对象常见问题解答

    BarTender是一款优秀的标签.条形码.卡片以及RFID标签设计和打印软件.所有版本的BarTender都具有独立的设计和打印功能,对于更高级的用户,自动化版和企业自动化版本提供了更强大的集成功能 ...

  8. C++ 类模板对象传参方式

    #include <iostream> #include <string> using namespace std;/***************************** ...

  9. C++模板学习02(类模板)(类模板语法、类模板与函数模板的区别、类模板中的成员函数创建时机、类模板对象做函数参数、类模板与继承、类模板成员函数类外实现、类模板分文件编写、类模板与友元)

    C++引用详情(引用的基本语法,注意事项,做函数的参数以及引用的本质,常量引用) 函数高级C++(函数的默认参数,函数的占位参数,函数重载的基本语法以及注意事项) C++类和对象-封装(属性和行为作为 ...

  10. ppt模板怎样用到html中,PPT如何使用在线模板制作精美页面

    PPT如何使用在线模板制作精美页面 制作PPT,要求的是整体美观,排版.样式风格统一,而自己一步步去设计,感觉没有那么美观,还费时间.有了模板就事半功倍了,俗话说借力使力不费力,WPS演示里就有许多模 ...

最新文章

  1. 自学python需要买书吗-Python入门到精通学习书籍推荐!
  2. python写的购物车程序
  3. 牛客网_PAT乙级_1027在霍格沃茨找零钱(20)
  4. Java的新项目学成在线笔记-day14(四)
  5. Ubuntu 16.04卸载火狐浏览器
  6. (原创)创建windows域---深入理解域概念
  7. 加速新冠疫苗研发,阿里云免费开放一切AI算力!
  8. python 3d游戏脚本_3ds Max python脚本编写及部分API介绍
  9. 乾颐堂现任明教教主(2014年课程)TCPIP协议详解卷一 第三节课笔记
  10. 向量积的坐标运算公式推导_向量积坐标表示公式
  11. sketch怎么把psd导出为HTML,如何巧妙将sketch文档完美转换成PSD
  12. 企业邮箱账号,如何在foxmail上创建
  13. 六十星系之25廉贞天相坐子午
  14. python学习(二)User-Agent
  15. html虚线垂直居中,css-虚线边框滚动效果
  16. echarts柱状图改变标签的位置及柱状图颜色
  17. android x86虚拟机不识别网卡,科学网-AndroidSDK-虚拟机之Intel x86虚拟机安装-几个错误解决方法-联网-马飞的博文...
  18. 用C++制作一款电话簿
  19. 宋词欣赏 -- 李清照词全集
  20. python和java哪个好找工作-短期找工作,编程语言是学习Python还是Java好呢?

热门文章

  1. 笔记本电脑亮度调节键失灵了,该怎么解决?
  2. centos linux系统后门程序
  3. Android:日志系统
  4. 图片外链方法大全: 免费的图床! 告别新浪图床 和 CDN
  5. pytorch之数据:pack_padded_sequence()与pad_packed_sequence()
  6. 干货 | 在搜索引擎广告关键词生成上,算法可以做什么?
  7. 通过log查看camera sensor型号
  8. 网页游戏是如何快速推广,寻找真实玩家。提高充值消费的。这里都有教程
  9. 印度 “新能源汽车市场” 是否坚挺!
  10. 确定自动驾驶汽车安全评估指标的挑战