2010-02-02 164 views
1

在大多數項目中,我使用多個佈局腳本。PHP:Zend_Layout:在哪裏編寫業務邏輯?

有時我需要一些佈局特定的數據,而不是頁面特定的數據。儘管使用哪種佈局,IS特定於頁面。

所以bootstrap或actioncontroller會是選擇佈局的好地方。但恕我直言,他們而不是是一個好的地方注入特定的佈局所期望的數據。

我能想到的唯一的其他地方就是在佈局視圖本身中編寫一些業務邏輯。雖然這是我寧願不做的東西:)

你在哪裏寫你的佈局特定的業務邏輯?

- UPDATE

佈局特定的業務邏輯可能;

  • 在用戶的收件箱中新郵件的當前登錄的用戶
  • 量的用戶名
  • 隨機「你知道......?」尖
+0

您可以舉一些*佈局特定的業務邏輯*的例子嗎? – Gordon 2010-02-02 11:09:31

+0

只是更新了問題 – Maurice 2010-02-02 11:59:17

回答

2

這樣的東西是最好的,從一個視圖助手

class ViewHelper_RandomTip 
{ 
    public function randomTip() 
    { 
     $tip = TipsModel::getRandom(); 
     return "<div><h1>Random Tip</h1><p>$tip</p></div>"); 
    } 
    // ... 
} 

然後在你的佈局完成後,用

echo $this->randomTip(); 

注意,這是不打算在任何地方運行示例代碼使用它。具體如何從助手訪問模型以及如何返回內容完全取決於您。您還必須找到一種方法將ViewHelpers與佈局一起註冊。而且會有人告訴你,你可能無法訪問從視圖模型(這是錯誤的)

另請參閱以下相關問題:

並看看如何Zend Framework做這種工作further information

+0

非常感謝,也爲額外信息的鏈接。幫我出去很多。 – Maurice 2010-02-02 12:59:15

相關問題