簡體   English   中英

Zend Framework:Controller類== Page?

[英]Zend Framework: Controller class == Page?

我是否正確地認為在Zend Framework中,如果我計划在我的網站上有5個頁面,我通常需要5個控制器? ZF開發人員通常每頁創建1個控制器(“頁面”作為abtract app unit)?

我問這個的原因是之前由於某種原因,我把很多不同的動作塞進控制器,以便他們扮演頁面的角色,例如索引/添加,索引/視圖,索引/刪除和顯示各種小屏幕,例如小CRUD屏幕而不是索引操作顯示的網格。

但是到目前為止,我想檢查一下我的新理解,即操作主要用於模型更新,操作一旦運行,應立即重定向回控制器/索引。 因此,看起來應該主要在索引操作中使用視圖,而在其他操作中則不太常見。

這聽起來在架構上有效嗎?

我認為這是一種方式...使用你的類比我想我使用像“部分”這樣的控制器和那些部分的“頁面”之類的操作。

但是那更多地依賴於舊的程序性||靜態范例頁面,因為實際上動作控制器本身與頁面或部分沒有關系,而不是你作為開發人員所做的關聯。 IE瀏覽器。 每個頁面都可能是依賴於應用程序架構的眾多操作和視圖的組合。

例如,如果我有一個博客模塊,我可能會有以下內容:

控制器:

  • PostController中
  • CommentController

瀏覽次數:

  • 崗位
    • 顯示(顯示單個帖子)
    • 列表(列表帖子)
    • 編輯(創建/編輯帖子)
  • 評論
    • 顯示(顯示n條評論)
    • 清單(清單評論)
    • 編輯(創建/編輯/審核評論)
    • 嵌入列表(用於Post本身,假設這與顯示不同)

在我看來,控制器應該總是將多個具有共同用例的方法組合在一起。 嘗試找到描述應用程序功能的“名詞”:那些是控制器(動詞是控制器方法)。

如果你有(例如)博客,你可能有:

  • ArticleListController(列出所有文章,列出前10名,列出標簽的所有文章,......)
  • SingleArticleController(顯示一篇文章,添加評論,......)
  • AdminController(允許你寫文章)

如果你只有5頁(例如家庭,關於,聯系......),MVC架構可能不合適。

indexAction僅是給定控制器的默認操作,對於顯示默認視圖很有用(與顯示子目錄的index.html或index.php頁面相同)。

在每個控制器的基礎上創建各種動作是完全可以接受的,每個動作可能有也可能沒有自己的視圖( 添加和編輯)。 控制器旨在對類似的操作進行分組。

有關示例用法,請參閱Zend_Controller_Action上的文檔。 您可能還會發現熟悉Zend_Controller的工作流程很有用。

暫無
暫無

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

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