2008-12-28 108 views
2

我喜歡關於Java servlet的一件事是使用不引人注意的過濾器和攔截器。基本上你可以使用這些東西來加強安全性,在HttpRequest上輸入額外的信息,進行監控等等。是否有與Java URL過濾器/攔截器等價的PHP?

在PHP中是否有一些等價物?

從我到目前爲止看到你似乎往往包含在所有網頁,將不喜歡的東西開始會話某個文件,加強安全性等不一樣優雅。這是唯一的解決方案嗎?

回答

5

沒有提供任何PHP Servlet API的等價物,所以快速的回答是,你需要自己實現的邏輯。

你有很多關於如何做到這一點的肘部。這種做法是在你的應用程序中創建一個特定的控制流,從一個文件開始,所有的請求最初都會被處理,這些文件將初始化一些值,比如常量,文件路徑等,之後你開始分析請求並生成請求的內容。

顯然,這是相當快建立一些主要文件,並解析請求。在過去,我們有「一個.php文件來統治他們」的做法被採取到最大。您通常會有一個包含頁眉,頁腳的單個文件,並且基於某些傳入的GET或POST參數,還會包含一些可生成或顯示內容的其他頁面。你可以很容易地理解雜亂的東西可以得到多少!

我的建議,你走下車,並嘗試自己開發的東西之前,是嘗試一些已經在那裏現有的框架,並開始獲得生產儘快。我假設PHP不是您的主要專業知識,並且您正在購買一個可以快速啓動和運行的框架,並快速掌握它的完整範圍。其中兩個,CodeIgniterCakePHP,作爲PHP的框架,因爲WordPress是博客功能,簡單而有效。

如果框架不按照你的喜好的西裝,你一定要讀The no-framework PHP MVC framework

2

不,也許是一個關閉電話。

有一個配置指令指示PHP,自動將包括在你

auto_prepend_file string 

一個文件,可以將編寫類似的一些有用的東西。

您應仔細閱讀嵌入式因爲PHP 5.2過濾器庫(最新版本)。
http://it.php.net/manual/en/filter.configuration.php。我還沒有使用它,但它似乎很有趣。

順便說一下,框架提示是一個有價值的。 儘管我不喜歡它們(通常我必須打架,而不是我分配的問題)。

+0

過濾器庫僅用於解析/過濾/清理輸入數據。 – 2014-01-23 14:34:59