2011-07-04 38 views
2

我是Zend的新手,仍然在學習。Zend - 來自數據庫的配置數據

我需要從數據庫中讀取一些配置數據並保持會話。我想要所有頁面中的這些數據,所以我需要攔截所有請求並檢查會話是否包含所需的數據,如果沒有,我將從數據庫中獲取它並將其放入會話中。

我想知道放入代碼的最佳位置。在Java中,我們用來檢查過濾器。我在這裏猜測我必須把這個放在一個Action Helper中。只是想檢查我有什麼選擇,什麼是最佳實踐。

感謝您的任何建議。

回答

1

爲此目的,您可以使用Zend_Registry單例類來提供ZF項目每個點的會話數據的可訪問性。爲了存儲會話數據,還有幾個類,例如, Zend_Session類

+0

合適的詞彙有無關一個會話,它只向整個應用程序提供任何東西,如註冊表(http://martinfowler.com/eaaCatalog/registry.html)所示。要訪問會話,您可以使用Zend_Session,但不能使用Zend_Registry。 – Preexo

0

我肯定會把它放在Controller Plugin類中。例如。

Application_Controllerplugins_SessConfig extends Zend_Controller_Plugin_Abstract 

這樣你就可以在早期趕上要求,做任何你想要的數據... 這是SSL路由我的另一個答案,但邏輯是插件類是相同的: How to implement SSL in Zend MVC

0

我即將實施類似的解決方案,由此應用程序實例(將推出給各種客戶)需要某些設置 - 數據可由管理員通過cms進行編輯,從而將其存儲在數據庫中。然後,我將檢索並將這些設置[作爲子對象]添加到配置類(它依次在引導程序中添加到註冊表中,這對我來說似乎是最乾淨的解決方案,因爲所有配置數據都存儲在一個地方,不論其來源是一個ini文件或分貝。

我很想聽聽你對如何做到這一點其他人的意見。

搶ganly