【问题标题】:In search of Module Web Design architecture [closed]寻找模块网页设计架构[关闭]
【发布时间】:2009-07-15 22:18:52
【问题描述】:

我正在设计一个大型 Web 应用程序,我希望最终能够模块化页面上的不同元素。我正在使用 Zend 框架。

我想创建可以组合来创建页面的独立模块(例如,联系框、搜索框、最新博客 cmets...),就像 Drupal 会做的那样。这些模块将是交互式的,因此它们显然会包含表单和 AJAX 调用等。它们还需要许多视图(用于呈现它们的外观)并且还将使用 JS 和 CSS 文件。

我一直在寻找解决此问题的标准方法,但没有太多具体信息。有谁知道可以深入了解这种网络设计的资源、书籍或网页?

【问题讨论】:

    标签: php modular


    【解决方案1】:

    老实说 - 在我自己寻找这些信息的过程中,我没有找到很多资源,但是通过查看 Zend 框架本身的许多组件,特别是 Zend_Form,您可以获得很多灵感来找到您的解决方案。我刚刚制作了一个具有“元素”和“装饰器”层次结构的“内容”包。元素本身可以提供它们的默认装饰器 - 您可以将任意装饰器附加到它们(例如将所有内容框包装在 <ul class='content'><li>.....</li>.....</ul> 样式显示在一页上。

    “视图助手”变得非常方便,允许您通过在视图中调用<?php echo $this->blogComments($article) ?> 来创建您的“最新博客cmets”样式框——它调用My_View_Helper_BlogComments::BlogComments()。我绝对建议拥有自己的 Zend_Form 子类以及恰好是表单的可重用组件(即,以 "My_Form_ContactUs" 联系我们)。

    “部分”视图助手也很方便,可以将显示的某些部分抽象为其他可重用文件。 <?php echo $this->partial('blog/_comments.phtml', null, array('article'=>$article)); ?> - 在克隆 Zend_View 时,用于部分的开销要多一些。

    处理 JS/CSS 包含会稍微复杂一些,我所做的是构建一个静态类,您可以“要求”一个“库”,它会检查该库是否已被包含,如果没有 - 它调用headScript() / headLink() 用于包含所需文件。 (用于 FCKEditor / Sortable / jQuery / 等)。最终看起来像:My_Script::requireLibrary('fckeditor');

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 1970-01-01
      • 2010-09-29
      • 2013-11-26
      • 2011-07-24
      • 2022-06-12
      • 2011-03-17
      相关资源
      最近更新 更多