2011-11-16 97 views

回答

3

這完全取決於你在。

哪一層。如果你是在視圖(模板,部分)有一個變量自動填充稱爲$sf_request

如果您在其他地方,您可以通過以下方式使用上下文單例控制:sfContext::getInstance()->getRequest()。這個問題是,如果由於某種原因上下文沒有被創建,那麼它將成爲一個問題。你可以用sfContext::hasInstance()來檢查這個,但是如果沒有上下文,那麼你顯然不能以這種方式得到請求。

您還可以通過context.load_factories上的偵聽器將請求實例插入到您需要的任何圖層/對象中。同樣,這要求在觸發事件後,使用它的圖層也會這樣做(例如,上下文已經初始化)。

基本上什麼即時得到在這裏是有不應該真的是一個理由來訪問控制器外部請求:-)

+0

你會在哪裏需要導致使用「sfContext ::的getInstance() - >調用getRequest ()「? – Flukey

+1

我wouldnt建議在任何地方做。你不應該真的需要。它已經在視圖的視圖中可用,而且我可以想到的任何其他地方都可以從控制器中的設置邏輯或通過context.load_factories中的偵聽器注入它。但我不能想到任何需要在控制器層以外使用它的東西。 – prodigitalson

相關問題