thinkphp中单一入口实现的原理
6个回答
推荐于2016-08-30
展开全部
打个比方,大家上 WC,都是男生进一个门,女生进一个门,这两个门就是 WC 的两个入口。
单一入口的原理就是:
现在大家是进一个公共 WC,不管男女都是从最外面的入口进入,交了钱以后才分别进两个门,那最外面的入口就是这个 WC 的单一入口。
所以,单一入口的应用程序实际上就是说用一个文件处理所有的 HTTP 请求。例如不管是新闻列表功能还是新闻编辑功能,都是从浏览器访问 index.php 文件。
单一入口的原理就是:
现在大家是进一个公共 WC,不管男女都是从最外面的入口进入,交了钱以后才分别进两个门,那最外面的入口就是这个 WC 的单一入口。
所以,单一入口的应用程序实际上就是说用一个文件处理所有的 HTTP 请求。例如不管是新闻列表功能还是新闻编辑功能,都是从浏览器访问 index.php 文件。
展开全部
哪有那么复杂.
所谓的单一入口,无非就是全部的访问,都是通过index.php来处理
然后通过$_GET获取对应的参数,然后include对应的文件,仅此而已.
最简单的就是,index.php?c=con&a=ac
然后include('con.class.php')
$a = new con();
$a -> ac();
这就是简单的思路.哪有什么扯什么MVC啊一大堆的.
所谓的单一入口,无非就是全部的访问,都是通过index.php来处理
然后通过$_GET获取对应的参数,然后include对应的文件,仅此而已.
最简单的就是,index.php?c=con&a=ac
然后include('con.class.php')
$a = new con();
$a -> ac();
这就是简单的思路.哪有什么扯什么MVC啊一大堆的.
追问
我还能在弱弱的问一个问题吗? 也是最关键的问题,一直不知道该怎么实现:如你上面所说的:
index.php?c=con&a=ac ,但是我要获取这些参数的话,势必会用到变量,$c = $_GET['c']; $a = $_GET['a']; 问题来了,难道还能继续用上面的方法实例化对象和调用对象的方法( $u = new $c ; $u->$a() ; )?我试了,不行啊。大侠,能不能给点悟一下
追答
- -
首先你要引入了这个类啊.
你确定有这个类了么?
$u = $_GET['c'];
include($u.'.class.php');//你要确保已经引入了这个类.
//对于引入类,我这里是手动引入了.至于tp,他用了__autoload自动引入的
$u = new $c ;
$u->$a() ;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单一入口还是action?
单一入口使用session记忆,如果不是index登入,就没有session,就提示错误,这样就可以达到但入口
action?你问的是控制器吧?
单一入口使用session记忆,如果不是index登入,就没有session,就提示错误,这样就可以达到但入口
action?你问的是控制器吧?
追问
对啊,单一入口就是靠URL传递参数,然后来指定要载入的模型和操作,也就是thinkPHP中的MODEL和ACTION。但是Thinkphp是如何通过这些参数将你想要的结果给你。。也就是说它用什么样的机制来解释URL,对于传递过来的值(MODEL和ACTION)它是如何处理的。。抱歉,可能描述的不清楚.. - - !
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实就是根据一个入口的index.php文件,然后通过TP的路由规则自动调用相应的模块和方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
百度一下: MVC 核心函数 __autoload()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询