PHP课件30Smrty.docxVIP

PHP课件30Smrty.docx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PHP课件30Smrty

Smarty模板引擎一、正则(结巴程序)二、模板引擎概述1、什么是模板引擎模板引擎,是指利用某种模板语言将页面制成模板,再依据业务逻辑将该模板语言翻译成业务数据,从而生成最终展示页面。其目的就是要把页面与业务数据实现彻底分离。1)应用于前端界面2)使用编程语言处理特殊数据转化为最终结果3)html+php实现彻底分离2、应用场景场景1:通过php代码实现对数据的遍历输出优点:执行效率高,速度快缺点:开发复杂度高,后期的维护难度大场景2:web系统开发流程与客户沟通确认需求分析签订项目合同设计师(设计效果图)与客户进行确认设计(HTML+CSS+JS静态页面)程序猿(整合PHP代码)设计师(细节调整)项目测试客户确认(不认可)设计师程序猿设计师项目测试客户确认(不认可)设计师程序猿设计师…项目上线综上所述:出现以上问题的主要原因就是HTML代码与PHP代码没有彻底分离3、模板引擎实际应用dedecms系统,phpcms系统:采用了模板引擎技术ecshop系统:(二次开发),其就是完全采用Smarty作为模板引擎thinkphp系统:模板引擎技术,引用第三方Smarty模板引擎,也可以使用内置的模板引擎4、模板引擎的原理1)使用以前学习过的代码输出数据库中相关内容以上代码虽然可以正常执行,但是其后期维护难度较高。2)使用模板引擎原理,解决以上问题模板页面:5、编写自定义模板引擎demo.phpdemo.html虽然以上程序可以实现自定义模板引擎操作,但是以上模板引擎只能分配一些简单类型的数据到模板文件中,如果复杂类型的数据还是无法处理(如数组或对象)三、Smarty模板引擎1、什么是Smarty模板引擎Smarty是一个基于PHP开发的PHP模板引擎。它提供了逻辑与外在内容的分离。面试题:你了解过哪些模板引擎,你最擅长的是哪一款模板引擎。答:我了解过PHPLib模板引擎、Smarty模板引擎、正在关注Volt模板引擎,最擅长Smarty模板引擎。2、Smarty下载下载网址:/Smarty2.0 :要求最低版本在PHP4以上Smarty3.0 :要求最低版本在PHP5.3以上下载Smarty最新版:Smarty3.1.27版本,下载后解压如下图所示:打开libs核心目录,分析如下:3、部署Smarty模板引擎Smarty部署五步走:第一步:复制libs核心目录到项目相关目录中第二步:更改libs文件夹名称为smarty第三步:创建一个templates文件夹(固定)做为项目的模板目录第四步:创建动态的php入口文件第五步:在templates模板文件夹中创建模板文件(后缀可以是.htm,.html或.tpl)4、为什么要选择Smarty模板引擎1)速度:相对于其他的模板引擎而言,Smarty具有更快的响应速度2)编译型:当我们第一次访问模板文件时,系统会自动把其转化为编译文件,当下次再次访问同一模板文件时,系统会自动访问编译文件,减小I/O开销3)缓存技术:提供了一种可选的缓存可选,当系统访问模板文件时,系统首先生成编译文件,如果用户开启了缓存技术,系统会通过编译文件再次生成缓存文件(静态化页面),把用户想要呈现的内容生成为一个静态的文件,可以进一步加快访问速度4)插件技术:如果发现Smarty存在不足,我们可以通过插件机制对其进行扩展5)语句自由:由于Smarty是通过PHP编写的,所以语法上与PHP类似,语句自由不适合Smarty技术的应用场景:1)小项目是不适合使用Smarty模板引擎的2)不适合实时更新的项目,股票系统、黄金走势…5、Smarty快速入门Smarty开发几步走:第一步:载入Smarty模板引擎第二步:实例化Smarty对象第三步:更改对象的默认行为(默认情况下可以不修改)第四步:通过assign方法分配变量到模板文件第五步:通过display方法显示输出模板文件(替换过程)示例代码:templates/demo01.html6、Smarty执行流程快速入门程序在执行完毕后,会自动生成templates_c目录(编译目录)与编译文件,如下图所示:在实际项目开发中,我们的项目一旦上线后,其模板内容就不会发生任何变化了,所以每次访问时都需要重新解析模板文件(载入模板替换变量),这样会大大的造成系统的I/O开销,所以为了解决以上问题,Smarty采用了编译技术:当我们第一次访问模板文件时,系统会自动生成编译文件,当用户再次访问同一模板文件时,系统会自动转向编译文件,以减少I/O开销。问题:编译文件在什么情况下会发生变化呢?答:编译文件只有在模板文件发生改变时才会发生变化。问题:编译文件如何记录模板文件是否发生变化呢?打开编译文件,代码如下图所示:我们发现,编译文件会自动记录模板文件的最后修改时间,如果模板文件的最后

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档