1

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

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

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

4

1 回答 1

1

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

“查看助手”变得非常方便,允许您通过调用视图来创建“最新博客评论”样式<?php echo $this->blogComments($article) ?>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');

于 2009-07-15T23:21:25.790 回答