- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PHP中使模用板引擎
PHP中使用模板引擎
一.什么是模板?
使用模板引擎可以使业务逻辑与显示逻辑分开——这是很欠扁但也是网上公认的说法,呃,说得很准确,但估计只有会使用模板的人才能理解……其实刚开始大可以简单的理解模板为“PHP与HTML代码分离的方法”。
二。为什么要使用模板技术?
让程序(PHP层)与显示(HTML层)分离可以使代码更清晰易懂,要修改程序问题就去PHP层找,要改显示问题就去HTML层改。更重要的是这样 的设计可以让不懂PHP的前台美工也能修改页面。如果不是很理解没关系,你只要知道这是迈向其它高级开发模式的必经之路就可以了。
三。有哪些模板技术?
我使用过PHPLIB库中的模板类,后来又使用了smarty和smartyLight,也试过原生的PHP方式实现的模板,现在大家基本上都用smarty。PHP方式相对来说最容易实现,学得也快,但不适合团队合作。
四。smarty广被攻击的“弱点”
smarty的语法太复杂,学它简直就是学一门新语言——其实你不需要复杂的功能,它就简单得很,如果你需要它复杂的功能,那你应该感谢它!根据我的经验,刚开始用一个东西,大家都喜欢简洁精炼,但随着应用的复杂,大多会抱怨它功能不足……
smarty有几百K,它太大了,慢!——其实大小与速度不成正比,smarty有编译缓存和静态缓存机制,甚至可以局部缓存
另外它的自定义插件用起来非常爽,modify,block等,我这几天正用它的block来输出页面组件。
?五。下载,配置smarty
因为我后来一直用smarty的简化版smartyLight,它们的语法大部分相同但也有不同,所以没办法把我现在的代码搬出来以免出错,好吧,为了写这篇,我去下载完整版smarty。
?下载2.6.18版的吧,最新的是2008的,不一定很稳定
其它目录都删了,保留libs目录就可以了,如果为了学习可以保留demo目录。
六。实战
使用模板引擎后,PHP代码与模板分离了,一般写一个应用都有PHP和HTML两个页面
PHP部分有三个部分组成:载入与配置、赋值、载入模板解析,其中第一部分是公用的,也就是放到公共页里以后都不需要再写的。第三部分即dispay方法,就一行代码,所以重点在第二部分。
(注:数组都分索引数组和关联数组两种来说明,索引数组即以数字为键的数组,关联数组是每个键有个字符串名称的数组,实在不理解就翻书去)
A。普通变量赋值与使用.
PHP代码
? header(‘Content-Type:text/html;charset=utf-8′); ??
? require?‘../libs/Smarty.class.php’; ??
? ??
? $smarty?=?new?Smarty; ??
? ??
? $smarty-compile_check?=?true; ??
? $smarty-debugging?=?false;?//调试时设为true ??
? ??
? //以上操作通常在包含页里,也就是说和数据库链接那样的操作类似,写一次就行了,根本不用记 ??
? //下面是实际的代码,PHP部分没啥难的,各种类型的变量,数组,对象统统可以用assign方法赋值给模板. ??
? $smarty-assign(“name”,“星野天河”);?????????????????????//这句是第二部分。普通的变量 ??
? $smarty-display(‘index.tpl’);?//载入模板??
?最后一句的display方法是载入默认模板目录下的index.tpl模板,当然可以修改默认的模板目录。假如要改到abc目录。(不要照抄啊,出错我不负责)
PHP代码
? $smarty-template_dir?=?‘/abc/’;??
模板部分(本例为index.tpl文件)
XML/HTML代码
? 普通变量的使用格式:?{$name}br??
?这样大括号中的内容会被上面11行定义的name值代替。使用这个你可以把网页标题,关键字,站长名字、图片路径、js路径、网站根目录、文档根等信息都在包含页里直接赋值了(一次性操作),之后在模板里任何地方可以直接使用。路径问题也不至于错乱,修改起来也省事。
B。一维索引数组的赋值与使用
PHP代码
? $smarty-assign(“persons”,array(“星野天河”,“小蕊”,“天空”,“西”,‘奶瓶’));??
将数组丢给$persons变量,html中循环输出数组有两种格式。第一种如下
XML/HTML代码
? {section?name=item?loop=$persons} ??
? ????{$persons[item]}br??
?
您可能关注的文档
- OfficeVicio2007中文版.doc
- Offic商e务办公应用.doc
- OfficeonDemqnd打破5台设备限制.docx
- Offic公e文编辑指南.docx
- 小学三学年语文上册词语表.doc
- Office办公软件基本教学大纲.doc
- offic2e010快捷键汇总.doc
- 小学三学年语文上册试卷附答案.docx
- Offic培e训向桌面要生产力.docx
- 小学三学年语文下册培优作业.doc
- 浙江金华市公共资源交易中心永康市分中心编外人员招考聘用笔试历年典型考题及考点研判与答案详解.docx
- 浙江宁波慈溪市政协办公室招考聘用编外工作人员笔试历年典型考题及考点研判与答案详解.docx
- 浙江金华永康市西溪镇人民政府招考聘用笔试历年典型考题及考点研判与答案详解.docx
- 福建南平市公安局建阳分局招考聘用辅警笔试历年典型考题及考点研判与答案详解.docx
- 浙江嘉兴海盐县武原街道基层残疾人工作专职委员(公益岗位)招考聘用笔试历年典型考题及考点研判与答案详解.docx
- 浙江宁波知识产权保护中心招考聘用工作人员笔试历年典型考题及考点研判与答案详解.docx
- 浙江杭州建德市面向2024届普通高校毕业生招考聘用教师(第二批)16人笔试历年典型考题及考点研判与答案详解.docx
- 浙江省台州中学面向2024届普通高校毕业生招考聘用教师12人笔试历年典型考题及考点研判与答案详解.docx
- 湖北师范大学体育学院专任教师招考聘用笔试历年典型考题及考点研判与答案详解.docx
- 重庆市南岸区教育事业单位面向2024届高校毕业生招考聘用114人笔试历年典型考题及考点研判与答案详解.docx
文档评论(0)