从ASP转学PHP,经常看到一个PHP文件例如“index.php”能显示很多不同的页面,本以为是通过if判断$_GET[]参数,或者是switch,但是通过查看index.php文件发现不是这个原理,请问这样的效果是如何实现的 ?
比如DISCUZ论坛很多页面都在是index.php文件里处理的....
能不能提供一个简单的源码学习?
谢谢各位解答
从ASP转学PHP,经常看到一个PHP文件例如“index.php”能显示很多不同的页面,本以为是通过if判断$_GET[]参数,或者是switch,但是通过查看index.php文件发现不是这个原理,请问这样的效果是如何实现的 ?
比如DISCUZ论坛很多页面都在是index.php文件里处理的....
能不能提供一个简单的源码学习?
谢谢各位解答
4 回答13.4k 阅读✓ 已解决
5 回答7.8k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.5k 阅读
3 回答468 阅读✓ 已解决
2 回答794 阅读
首先是Web服务器把不存在的路径转给index.php处理,比如Nginx:
然后前端控制器index.php做URL路由分发,比如Symfony官方文档的前端控制器index.php示例:
Discuz!有些页面用的是页面控制器,而不是前端控制器,viewthread.php就是一个页面控制器.页面控制器+common.php结合也是一个不错方法,这样浏览器就能直接访问页面控制器,而不需要经过前端控制器进行路由.