在Zend Framework中,控制器插件通常用於實例化和配置每個頁面將需要的資源。例如,我正在使用Zend_Auth編寫一個封裝我的授權方法的插件。我的插件應該如何「報告」或將數據傳遞給我的應用程序的其他部分?我假設我應該使用Zend_Registry
...在插件和應用程序之間傳遞數據的正確方法是什麼?
0
A
回答
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) {
[...]
}
}
}
我沒有代碼,以幫助您更多有關,但是這是一個領導,我知道的作品。
相關問題
- 1. 在視圖模型之間傳遞數據的正確方法是什麼?
- 2. 在Titanium和PHP之間傳遞數組的正確方法是什麼?
- 3. 在android應用程序之間傳遞數據的最佳方式是什麼?
- 4. 在方法之間傳遞數據時的正確技巧
- 5. 在模塊之間傳遞Socket.IO套接字的正確方法是什麼?
- 6. 什麼是確定應用程序位置的正確方法?
- 7. 在C++(MFC)應用程序和C#之間傳遞數據
- 8. 在網頁和VB應用程序之間傳遞數據
- 9. 如何在iOS和TvOS應用程序之間傳遞數據?
- 10. 在客戶端應用程序和Web應用程序之間傳遞數據
- 11. 在VB6應用程序和.net應用程序之間傳遞數據
- 12. 在Android中的應用程序之間傳遞數據的最簡單方法
- 13. 如何以正確的方式在服務和應用程序之間傳遞數據?
- 14. 將數據從PHP應用程序傳遞給JS的正確方法是什麼?
- 15. 什麼是分配和傳遞字符串的正確方法?
- 16. 使用應用程序分發SQLServer數據庫的正確方法是什麼?
- 17. 在NSSplitViewController內的兩個視圖控制器之間傳遞數據的正確方法是什麼?
- 18. UWP - 在頁面之間傳遞參數的正確方法
- 19. 什麼是傳遞unique_ptrs數組的正確方法?
- 20. 將參數傳遞給JavascriptExecutor的正確方法是什麼?
- 21. 在mojoportal中傳輸數據庫的正確方法是什麼?
- 22. 創建數據庫桌面應用程序的正確方法是什麼?
- 23. 什麼是從.Net應用程序處理MySql數據庫的正確方法
- 24. 在應用程序/進程之間傳遞數據
- 25. 發佈nodejs應用程序的正確方法是什麼?
- 26. 什麼是結束.Net應用程序的正確方法?
- 27. 什麼是打包企業應用程序的正確方法
- 28. iPhone:離開應用程序的正確方法是什麼?
- 29. 什麼是授權Stormpath應用程序的正確方法?
- 30. 調試pedestal.io應用程序的正確方法是什麼?