[英]What's PHP Equivalent of Java Servlet Filter?
在Java方面,我們有一個servlet過濾器來處理身份驗證。 除非頁面需要自定義內容,否則我們不必更改所有其他servlet或JSP以向頁面添加身份驗證。
我們如何在PHP上實現相同的目標? 我們不在PHP上使用任何框架。
沒有直接的等價物。 您最好的選擇是在頂部包含一個公共文件,並根據需要在其頂部執行此類邏輯。 所以:
require 'common.php';
有:
if (!isset($_SESSION['userid'])) {
// authentication stuff
}
如果你想在最后做一些事情,你有幾個選擇:
ob_start()
的輸出緩沖區處理程序; 要么 register_shutdown_function()
注冊關閉回調。 所以:
ob_start('my_callback');
function my_callback($str) {
// do something
return $str;
}
要么
register_shutdown_function(my_callback);
function my_callback() {
// do something
}
如果我正確理解你的問題。這可能因架構而異..例如..創建一個包含文件,檢查用戶是否通過會話進行身份驗證,如果沒有發送到登錄頁面。 我認為任何有超過2個腳本的網站都會使用某種包含文件,你可以將這些代碼放在該文件中。 你甚至可以有一個數組,其中包含需要有一個有效用戶會話的頁面的名稱,並與請求uri匹配。有幾種方法可以解決它...你只需要選擇最適合你的那個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.