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

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

WBOY
WBOYOriginal
2016-06-06 20:51:47992Durchsuche

就是像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/ 作为你的开发框架

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn