0
我寫了自定義過濾器,它工作得很好。爲了測試我把自定義HTTP標頭作爲迴應。但是,當404頁面發生時,我看不到我的自定義HTTP標頭。當404發生時,過濾器不執行symfony 1.4
所以我的問題是:我做錯了什麼或這是正常的,在其他框架通常嗎?
我寫了自定義過濾器,它工作得很好。爲了測試我把自定義HTTP標頭作爲迴應。但是,當404頁面發生時,我看不到我的自定義HTTP標頭。當404發生時,過濾器不執行symfony 1.4
所以我的問題是:我做錯了什麼或這是正常的,在其他框架通常嗎?
的解決辦法是延長sfWebResponse類並覆蓋send()方法是這樣的:
class MyWebResponse extends sfWebResponse {
public function send() {
//custom code
parent::send();
}
}
你將不得不檢查Symfony的是如何創建的404響應,但我的猜測是,它重置所有響應頭。 –
Symfony在404發生時停止執行過濾器,我檢查過。我甚至試圖抓住各種反應事件,但沒有成功。在這種情況下,我的解決方案是覆蓋sfWebResponse類,並將我的代碼放在響應類的send方法中的parent :: send()方法之前。 – user12733
如果您發現問題的解決方案,請將其添加爲答案並接受。它可能會幫助一些將來陷入類似問題的人。 –