- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载
第11章 中场三:生成HTML模块
不仅是P H P ,其他的任何We b脚本语言在H T M L代码和脚本语言本身的转换方面都不太灵
活,程序必须把脚本模式转换成 H T M L模式,然后再转换回来,这样一次次的转换破坏了代码
的完整性,降低了脚本的可读性。这一章研究如何不脱离出 P H P脚本模式而生成H T M L代码。
我一直都是一个程序员,并使用 i f语句和 f o r循环的方式来思考。因此,如果我被迫放弃
正在使用的编写 H T M L 的编程语言,就会很不开心。对我来说,只要大概瞥一眼,就可以很
容易地理解下面这段代码的意思:
但是这样一段就难懂得多:
能很快从中提取出成对的?php .. ? 吗?这样书写的代码多难调试和维护呀!
不幸的是,要正确使用H T M L代码,必须使用双引号。但是在 e c h o语句中使用双引号就会
发生错误,而当需要进行变量替换的时候就不能使用单引号字符串。我尝试通过为 H T M L代
码创建一个P H P类来减少这种不便。
11.1 HTML类的设计目的
在编写这段 P H P 代码之前,一个重要的步骤就是明确代码需要实现什么功能,就是说,
这个H T M L类用来做什么:
• 生成H T M L代码时,尽量减少使用 e c h o语句,这个目的使 P H P代码更易读,因为不需要
避免双引号的使用。
• 遵循J AVA 的用户接口模型,只要简单地写上,元素就会被定义,然后被添加为更大的
元素。
• 为H T M L标记提供缺省的属性,很多H T M L语句包含多余的信息,比如背景颜色和字体大小。
• 可以把We b 页面元素存储在数据库中,提供对 H T M L 元素的缓存,这样会在将来生成
We b页面时节省宝贵的运行时间。
注意 需要强调的一点是,这个正在开发的模块并不是为大量访问者的产品环境而设计
的,它并没有经过最大负载的检验。更确切的说,这个模块是作为一个“思路试验”被
开发出来的,就是说,我把这个模块用在自己的网站上,其他网站的情况也许会不同。
第11章 中场三:生成HTML模块计计169
下载
11.2 生成一个基类
注意 这一节中的代码可以在 c h 11 / 0 1 目录中找到。
既然已经明确了目的,就需要找到一个切入点来开始写代码, H T M L 的基础是标签名和
属性列表,每个标签都有一个相对的结束标记,大部分标签都是容器 ── 可以包含其他标签。
有了这些知识,让我们来生成一个表述通用标签的类。清单 11 - 1中的代码描述上页中的对象
结构,其中定义了两个类,h t m l b a s e类提供对属性的支持和一个生成方法,这个生成方法把标
签名和它的属性组合起来,在一个缓存变量中生成 H T M L代码,然后,缓存中的H T M L代码数
据被返回给调用者。既然这个 H T M L字符串是被返回给调用者的,那么,在类中对 H T M L 的使
用就没有任何限制了──它可以返回给客户端浏览器、存储在数据库中或是和其他 H T M L代
码组合起来。
清单11-1 first.php3支持H T M L标签
170计计PHP3 程序设计
下载
这段脚本显示:
f i r s t . p h p 3这段代码的一个很特别的特点是对 d o c t y p e标签的支持,只要把它加入, d o c t y p e
第11章 中场三:生成HTML模块计计171
下载
标签就告诉浏览器它所要处理的是哪种文本类型。在这个例子中,后面所跟的文本是 H T M L
V 3 . 2 。此时详细解释 d o c t y p e 并没有太大的作用─它包括X M L 和D T D (Docum
文档评论(0)