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

模板使页面与代码分离。

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

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

发展历史

¨内嵌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. Phos 技术服务支持
  2. 前四次作业--个人总结
  3. python excel 自动化-Python控制Excel实现自动化办公
  4. 提高方面级情感分析的性能:一种结合词汇图和句法图的方法
  5. 微信小程序跳转到其他网页(外部链接)公众号等的实现方法
  6. 【Linux】一步一步学Linux——reset命令(268)
  7. 使用HTML5和JavaScript创建音乐播放列表
  8. css通配选择符用什么表示,css3选择符使用个人理解。
  9. epoll, NIO,AIO
  10. 集群环境下_Docker环境下秒建Redis集群,连SpringBoot也整上了!
  11. java计算机毕业设计Web前端开发技术儿童教育网站MyBatis+系统+LW文档+源码+调试部署
  12. 第十一章 卡米洛特的黑暗时代
  13. cl.clus pw index.php,Application Essay 写作 第五课 Introductions and Conclus
  14. Pycharm一直显示connecting to console
  15. VMware下安装centos6.7的步骤
  16. 计算机组成原理mgk换算,计算机组成原理十套卷(本科)计算题及答案
  17. 【Ubuntu】[待机时间]:修改Ubuntu待机时间
  18. #ifdef _cplusplus是什么意思
  19. MySQL《多表连接操作2》
  20. 鸿蒙和yunso区别,华为没消息反而多家媒体之间相互作为依据报道,鸿蒙OS到底几家真?...

热门文章

  1. 计算机专业就业前景分析
  2. 查看计算机bios版本,如何查看电脑BIOS版本
  3. 青春期的我们……妥协…挣扎…惊醒
  4. PHP开源公司订餐系统Food Online System Version1.6
  5. WAP技术与应用(转)
  6. python mysql library,python调用mysql报错解决方案
  7. 历练熟女给老实木讷男孩的恋爱建议(转贴)
  8. 微信小程序云开发-树洞小程序Treehole(畅所欲言/交易广场实现)
  9. 说的特别好的一句话,送给每一个热爱编程的人
  10. aid learning安装应用_Aid Learning