2011-04-19 45 views

回答

1

既然Zend_Registry::set()Zend_Registry::get()創建隱藏,難以調試和難以進行單元測試的依賴關係,我儘量避免它們。

通常情況下,插件可以修改已通過的$request對象。然後,控制器可以從$request對象中獲取所需的任何東西,並將其傳遞到服務,模型,視圖等。

0

我在我的一個項目中遇到的問題是:重定向到錯誤如果用戶無法訪問他要求的頁面,則返回頁面

問題在於給錯誤頁面提供了錯誤描述和異常,並且與ZF在內部執行的格式相同(您知道在ErrorController中可以訪問錯誤信息)。

我所做的是進入ZF代碼,看看如何格式化數據(數組和類,但沒有太複雜),並以同樣的方式將我們的信息提供給ErrorController。

這個想法是給添加錯誤信息作爲請求參數,請看下面它是如何爲標準ErrorController從ErrorHandler插件獲取信息完成的。

標準ErrorController來自ZF的文檔:

class ErrorController extends Zend_Controller_Action 
{ 
    public function errorAction() 
    { 
     $errors = $this->_getParam('error_handler'); 
     switch ($errors->type) { 
      [...] 
     } 
    } 
} 

我沒有代碼,以幫助您更多有關,但是這是一個領導,我知道的作品。

相關問題