什么是Java Servlet Filter的PHP等价物?

ZZ *_*der 9 php java httprequest servlet-filters

在Java方面,我们有一个servlet过滤器来处理身份验证.除非页面需要自定义内容,否则我们不必更改所有其他servlet或JSP以向页面添加身份验证.

我们如何在PHP上实现相同的目标?我们不在PHP上使用任何框架.

cle*_*tus 11

没有直接的等价物.您最好的选择是在顶部包含一个公共文件,并根据需要在其顶部执行此类逻辑.所以:

require 'common.php';
Run Code Online (Sandbox Code Playgroud)

有:

if (!isset($_SESSION['userid'])) {
  // authentication stuff
}
Run Code Online (Sandbox Code Playgroud)

如果你想在最后做一些事情,你有几个选择:

  1. 使用输出缓冲处理程序ob_start(); 要么
  2. 注册一个关闭回调register_shutdown_function().

所以:

ob_start('my_callback');

function my_callback($str) {
  // do something
  return $str;
}
Run Code Online (Sandbox Code Playgroud)

要么

register_shutdown_function(my_callback);

function my_callback() {
  // do something
}
Run Code Online (Sandbox Code Playgroud)