2012-10-25 40 views
0

我想一個條件語句添加到我的佈局,測試:添加條件邏輯在Zend框架控制器

  1. 在URL
  2. 一個Zend_Auth的()
存在的控制器PARAM

什麼來實現,最好的方法是什麼?我試圖測試在佈局中$this->_getParam('controller')但得到了一個錯誤。我可以在所有控制器中設置該變量,但似乎有點愚蠢。如何最好地設置一個變量,我可以稍後從佈局中使用一些條件邏輯?或者我應該添加我的條件邏輯,它是在視圖幫助器中,然後加載到佈局中?

回答

1

編輯控制器不應該是一個URL參數,除非你正在做一些非常奇怪的路由。如果你得到一個GET(或POST)變量,你會請求對象,Zend_Controller_Front::getInstance()->getRequest()上使用->getParam(),如下使用。但是控制器是該請求對象的獨立屬性。

這是AUTH部分:

$loggedIn = Zend_Auth::getInstance()->hasIdentity(); 

這是控制器部分:

$controller = Zend_Controller_Front::getInstance()->getRequest()->controller; 
+0

哪裏,我會用這些?在一個視圖?控制器? –

+0

它們是靜態方法,你可以在任何地方使用它們。我從Zend1.11應用程序中提取了這個。我被告知ZF2是非常不同的。 –