我正在编写一个小的 PHP 身份验证库(请推迟“不要自己编写”。我以前做过)。作为我的库的一部分,我希望能够在某些情况下“中止”执行。
例如,举这个例子:
<html>
<head></head>
<body>
<?php
$auth=...
$auth.RequiresInGroup("admin");
?>
</body>
</html>
我想要RequiresInGroup
做的基本上是检查用户是否已登录(通过查看 cookie 等).. 如果他们没有登录或未在该组中,那么它需要发回 401 错误并做一个服务器-side 重定向到未经授权的页面。
我知道我可以将我的<?php..
声明移到上面<html>
来完成这项工作,但我试图涵盖所有可能的用例(包括糟糕的代码设计)。
PHP中是否有一种方法可以基本上推迟向客户端发送内容直到请求结束,或者在执行过程中发送不同的HTTP标头然后退出脚本的类似方法?