2009-07-15 96 views
1

我正在设计一个大型的web应用程序,我想最终能够模块化页面上的不同元素。我正在使用Zend框架。寻找模块网页设计架构

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

我一直在寻找一个标准的方法来解决这个问题,但是那里没有太多具体的信息。有没有人知道资源,书籍或网页能够提供对这种网页设计的洞察力?

回答

1

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

“View Helpers”变得非常方便,可以让你做你的“最新的博客评论”的风格箱通过调用它调用My_View_Helper_BlogComments::BlogComments()查看 - <?php echo $this->blogComments($article) ?>。我绝对认为拥有自己的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');