thinkPHP的单一入口概念理解。
这里依旧以我之前开发的应用todolist为例讲解。在使用thinkphp之前,首页如下,
点击登录后,如图。注意地址的变化
点击注册
由以上三个图中地址变化,可以看出,应用实现登录和注册功能时,调用了login.php和regisert.php,这两个文件不仅实现了功能,还成为了该应用的两个入口。
在使用thinkphp之后,首页如下
点击登录和注册后,页面如下
从这三个图中可以看出,点击登录和注册后,应用的路径依然是从index.php开始的。那么index.php就是就是整个应用的单一入口。
也许以上说明还不够明了。那么打个比方。我们把整个应用看成是一栋房子,里面有多个房间。
对于未使用单一入口的应用来说,这栋房子有多扇门,其中每扇门都对应一个房间,就如shouye.php,login.php,register.php都是进入这栋房子的一扇门。不论是哪一扇门,都可以通过它进入这栋房子和其中的某个房间。
而对于使用单一入口的应用来说,虽然房子里面也有很多房间,但这栋房子只有一扇门让我们进入,那就是index.php。等进入房子之后,我们再根据需要,选择进入某个房间。
以上解释如果明白了,那么又有一个问题,单一入口文件index.php如何判断要调用那个控制器呢?这就涉及到thinkphp单一入口的实现原理。以后补充。