老实说 - 我没有在自己寻找这些信息的过程中发现许多资源,但是通过查看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');