簡體   English   中英

Zend View Helper中的數據庫連接

[英]Database Connection in Zend View Helper

在Zend View Helper中使用數據庫映射器是一種好習慣嗎? 因為在我的情況下,此幫助程序使我成為一個<div>框,該框一直實時更改,並顯示在應用程序中的所有視圖中。 我不可能給那個對象從控制器中的數據庫中加載它並分配給它每次查看。

如果有人在使用zend view helper時能告訴良好的編程習慣,這將非常有幫助:

  • 如果可以,可以通過$this->view->variable = ... ;在View Helpers中為視圖分配某些內容$this->view->variable = ... ;
  • 如果可以,可以在View Helpers中創建和使用模型。
  • 如果可以在View Helper中使用Zend_View可用的方法,例如通過執行$this->view->baseUrl('...');

只要您不從模型的角度對模型進行任何邏輯上的選擇,第二點和第三點對我來說都是正確的。 模型和視圖之間的鏈接必須是只讀的。

關於第一點,您無需為視圖分配任何內容,視圖幫助程序應將HTML輸出直接return給視圖。

關於第一個問題,您可以創建專門用於此任務的View Helper,因此可以將其用作View Helper和Mappers之間的簡單代理。 一個視圖助手將允許您訪問任何映射器,而其他視圖助手可以使用此視圖助手來獲取映射器。

讓我們看看Trygve Reenskaug對MVC的看法:

楷模

模型代表知識。 模型可以是單個對象(不是很有趣),也可以是對象的某種結構。

一方面,模型與其零件之間應存在一對一的對應關系;另一方面,模型所有者應感知到所代表的世界。

觀看次數

視圖是其模型的(視覺)表示。 通常,它將突出顯示模型的某些屬性,而抑制其他屬性。 因此,它充當表示過濾器。

視圖被附加到其模型(或模型部分),並通過提問從模型中獲取表示所需的數據。 它還可以通過發送適當的消息來更新模型。 所有這些問題和消息都必須使用模型的術語,因此視圖必須知道其代表的模型的屬性的語義。

控制器

控制器是用戶與系統之間的鏈接。 它通過安排相關視圖以在屏幕上的適當位置顯示自己,從而為用戶提供輸入。 它通過向用戶呈現菜單或其他提供命令和數據的方式,為用戶提供輸出方式。 控制器接收此類用戶輸出,將其轉換為適當的消息,然后將這些消息傳遞到一個或多個視圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM