<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="分析php实现的单一入口应用程序实例（FleaPHP、CakePHP、symfony、Mojavi、Phing）" id="card1">
<p> 游客</p><p>
标题:分析php实现的单一入口应用程序实例（FleaPHP、CakePHP、symfony、Mojavi、Phing）<br/>
正文:<br/>
什么是单一入口应用程序？在解释什么是单一入口应用程序之前，我们先来看看传统的 web 应用程序。news.php 显示新闻列表news_edit.php 显示新闻编辑页面这两个页面不但分别实现了两个功能，还成为了应用程序的两个入口。那什么是入口啊？打个比方，大家上 WC，都是男生进一个门，女生进一个门。这两个门就是 WC 的两个入口。呵呵，上面的例子应该很好理解吧。那稍微变换一下，单一入口的概念就很容易理解了。现在我们是进一个公共 WC，不管男女都是从最外面的入口进入，交了钱以后才分别进两个门。那最外面的入口就是这个 WC 的单一入口。所以单一入口的应用程序实际上就是说用一个文件处理所有的 HTTP 请求。例如不管是新闻列表功能还是新闻编辑功能，都是从浏览器访问 index.php 文件。这个 index.php 文件就是这个应用程序的单一入口。index.php 如何知道用户是要使用哪一个功能呢？很简单，我们访问 index.php 时跟上一个特定的参数就行了。例如 index.php?action=news 就是显示新闻列表，而 index.php?action=news_edit 就是新闻编辑。而在 index.php 里面，仅用两行代码就可以实现这种效果。&amp;lt;?php$action = $_GET['action'] == '' ? 'index' : $_GET['action'];include('files/' . $action . '.php');?&amp;gt;上面的代码中，第一行是从 url 中取出 action 参数。如果没有提供 action 参数，就设置一个默认的 'index' 作为参数。第二行代码就是根据 $action 参数调用不同的代码文件，从而实现单一入口对应不同功能的效果。单一入口应用程序的入口文件很复杂？有些朋友可能以为单一入口程序的 index.php 会像面条一样复杂，其实是误解。例如我现在的应用程序入口文件只有下面几行：&amp;lt;?phpdefine('APP', realpath('../libs/website'));define('LANG', 'gb2312');define('DEBUG', 1);require('../libs/flea1/basic.php');run();?&amp;gt;足够简单了吧？当然了，在<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2234&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2234&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2234&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2234&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2234&amp;Page=5">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2234">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2234">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>