首頁 >後端開發 >php教程 >apache - php可以发出请求执行代码时先执行另外一段代码么

apache - php可以发出请求执行代码时先执行另外一段代码么

WBOY
WBOY原創
2016-06-06 20:51:471021瀏覽

就是像java的Filter一样
在执行真正的代码前把请求拦截下来然后执行处理程序
处理程序执行完后才执行请求的路径

回复内容:

就是像java的Filter一样
在执行真正的代码前把请求拦截下来然后执行处理程序
处理程序执行完后才执行请求的路径

有两种方法可以做到:

  • 使用auto_prepend_file,在php.ini中设置,例如:auto_prepend_file = "/home/linqq/libs/filter.php",当浏览器请求index.php, login.php等页面的时候,就会自动在处理index.php, login.php之前加载filter.php,这个功能出来很久了,一直养在深宫人未识,文档:http://www.php.net/manual/en/ini.core... http://qing.weibo.com/1657315521/62c8...
  • 使用类似Java里面Dispatcher Servlet的bootstrap文件,所有HTTP请求都指向此文件,再由此文件来调度,PHP里主流的MVC框架都是这样的自己写个简单的MVC也可,我2006年就是这样入手写框架的,第一个版本的框架源码只有7K

具体哪种方法好,就要靠女施主结合自己的项目情况实战一下再说了

单一入口可以实现,百度搜索即可了解,很多框架都是这么做的,别的还有什么方法就不清楚了

你说的请求是HTTP请求吗?
那么这个功能就是php框架的基本功能,拦截请求,做一些事
http://segmentfault.com/search?q=php+... 在SF搜索“php 框架”可以找到很多数据
另外Symfony2中文站的工程师驻守在SF,可以考虑Symfony2 http://symfony.cn/ 作为你的开发框架

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn