> 백엔드 개발 > PHP 튜토리얼 > apache - php可以发出请求执行代码时先执行另外一段代码么

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

WBOY
풀어 주다: 2016-06-06 20:51:47
원래의
1027명이 탐색했습니다.

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿