php单一入口应用程序概述.docVIP

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

什么是单一入口应用程序? 在解释什么是单一入口应用程序之前,我们先来看看传统的 web 应用程序。 news . php 显示新闻列表 news _edi t . php 显示新闻编辑页面 这两个页面不但分别实现了两个功能,还成为了应用程序的两个入口。 那什么是入口啊? 打个比方,大家上 WC,都是男生进一个门,女生进一个门。这两个门就是WC 的两个入口。 呵呵,上面的例子应该很好理解吧。那稍微变换一下,单一入口的概念就很容易理解了。 现在我们是进一个公共 WC,不管男女都是从最外面的入口进入,交了钱以后才分别进两个门。那最外面的入 口就是这个 WC 的单一入口。 所以单一入口的应用程序实际上就是说用一个文件处理所有的 HTTP 请求。例如不管是新闻列表功能还是新闻 编辑功能,都是从浏览器访问 i ndex. php 文件。这个 i ndex. php 文件就是这个应用程序的单一入口。 i ndex. php 如何知道用户是要使用哪一个功能呢? 很简单,我们访问 i ndex. php 时跟上一个特定的参数就行了。例如 i ndex. php?act i on=news 就是显示新闻列 表,而 i ndex. php?act i on=news _edi t 就是新闻编辑。 而在 i ndex. php 里面,仅用两行代码就可以实现这种效果。 ?php $act i on = $_GET[ act i on] == ? i ndex : $_GET[ act i on] ; i ncl ude(f i l es / . $act i on . . php); ? file:///C|/Users/Administrator/Desktop/php单一入口应用程序概述.txt[2012/8/2 16:42:56] 上面的代码中,第一行是从 ur l 中取出 act i on 参数。如果没有提供 act i on 参数,就设置一个默认的 i ndex 作为参数。 第二行代码就是根据 $act i on 参数调 用不同的代码文件,从而实现单一入口对应不同功能的效果。 单一入口应用程序的入口文件很复杂? 有些朋友可能以为单一入口程序的 i ndex. php 会像面条一样复杂,其实是误解。 例如我现在的应用程序入口文件只有下面几行: ?php def i ne(APP, r eal pat h(. . / l i bs / webs i t e)); def i ne(LANG, gb2312); def i ne(DEBUG, 1); r equi r e(. . / l i bs / f l ea1/ bas i c. php); r un(); ? 足够简单了吧? 当然了,在 i ndex. php 里面写上一长串 s wi t ch cas e 绝对是拙劣的实现方式。但这纯粹是开发者自己的设计 和实现问题,而不是单一入口应用程序这种设计思想的问题。 补充说明: 这里提到 s wi t ch cas e 并不是说用了 s wi t ch 就代表“落后”、“土气”等。只是说在 i ndex. php 这个入口程序里面写上一堆 s wi t ch cas e 不利于程序的修改和维护,所以是一种不好的用法。 单一入口应用程序的设计思想 当web服务器(apache或者i i s )收到一个ht t p请求时,会解析该请求,确 定要访问哪一个文件。例如 file:///C|/Users/Administrator/Desktop/php单一入口应用程序概述.txt[2012/8/2 16:42:56] ht t p: / / www. xxx. com/ news . php 的解析结果就是要求web服务器解析 news . php 文件,并返回结果给浏览器。 现在看看单一入口应用程序的 i ndex. php 文件,就会发现 i ndex. php 实际上根据 ur l 参数进行了第二次解 析。 完成这个解析的程序一般称为 Di s pat cher (中文的准确 翻译我也不知道),大概意思就是将不同的请求转发 到不同的处理程序进行处理。 在单一入口应用程序中,i ndex. php 和 web服务器一起构成了一个 Di s pat cher ,根据 ht t p 请求和 ur l 参数 来确 定请求的处理程序。 了解了 Di s pat cher 的概念后,我们可以发现前面提到的两行代码实际上就是一个最简单的 Di s pat cher 实 现: ?php $act i on = $_GET[ act i on] == ? i ndex : $_GET[ act i on] ; i ncl ude(f i l es /

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档