2012-10-10 49 views
1

在Zend框架中,是否可以有一個控制器執行某些邏輯,然後設置一些視圖變量以準備部分顯示?我可以在Zend中使用部分控制器嗎?


爲了說明我有一個視圖實現了部分。

我有我的邏輯部分從數據庫中獲取一些項目。然後顯示這些項目。

此刻邏輯位於partial視圖(.pthml文件)中。

是否有一個控制器或我可以用來執行局部視圖之外的邏輯?

據我瞭解MVP模式,我不應該在視圖中有這樣的邏輯。

回答

3

將邏輯放在視圖之外是一件好事,那就是view helpers的設計目的。

關於writing your own的部分將對您特別感興趣。

這將允許你寫類似,保持了邏輯視圖: -

<?php echo $this->getItems(); ?> 
在你看來

,而不是那裏的邏輯。

例如,創建一個名爲getItems的幫助器非常簡單。創建application/views/helpers/GetItems.php並創建你的助手 -

class Zend_View_Helper_GetItems extends Zend_View_Helper_Abstract 
{ 
    public function getItems() 
    { 
     //Do some stuff 
     return $this->view->escape("Did some stuff!"); 
    } 
} 

然後調用它上面的,你不必做任何事情。

+0

非常感謝!當你回答時,我嘗試了這個,但是我剛剛意識到我的代碼中有一個錯誤,這就是爲什麼它不起作用。 – Undefined

相關問題