为 Zend Framework 首页存储静态文本
Posted
技术标签:
【中文标题】为 Zend Framework 首页存储静态文本【英文标题】:Storing static text for Zend Framework frontpage 【发布时间】:2010-10-03 13:06:15 【问题描述】:我正在开发一个小型网站,需要在首页上显示静态文本块。这些块稍后将被设置为段落或项目符号等样式。
您建议我将这段文字存储在哪里?它们是否在使用它们的每个视图中作为变量?我可以这样做,但我更愿意为所有这些文本提供一个中心位置。
目前,该站点非常小,不需要由数据库驱动,但这种情况可能会发生变化,因此如果这是一种更好的做法,我不介意使用数据库进行存储。虽然我认为存储在数据库中会使从我的 IDE 中编辑文本变得更加困难。
我猜测 Zend 使用的 MVC 结构已经想到了一个解决方案
【问题讨论】:
【参考方案1】:听起来关键点是:
-
以原始原子、无样式格式保存所有数据
存储在文件系统中,以便您可以通过 IDE 轻松编辑。
那么,也许是一个 XML 文件?它可以选择为每个原子文本块分配 id。然后你可以编写一个类来读取 XML 文件并提供像getAll()
、getById($id)
这样的接口。这将为您提供原始数据,然后您可以根据需要设置样式 - 放入一堆
、
等。SimpleXML 很容易使用。
【讨论】:
我喜欢 getById 的想法。对于 XML,存储在 XML 中或存储在数据库中哪个检索更快? 对于小型数据集,我猜是 XML,因为它驻留在文件系统中,没有网络延迟。缺点是您必须解析整个文件。具有适当索引的数据库可能更适合使用 getById() 提取单个项目,尤其是对于更大的项目集。像 sqlite 这样的基于文件系统的数据库可能是两全其美的。但请记住,一旦您使用任何类型的数据库,您可能会失去在 IDE 中编辑的功能。【参考方案2】:如果您的静态文本块始终相同,并且不会动态生成任何新文本,那么您可以在 Zend 中使用部分文本。
将所有小文本存储为部分文本。在您的视图脚本中,您将拥有:
echo $this->partial('partial01.phtml',array('somedata'=>'if you need it'));
您只需要在views/scripts 目录中有partial01.phtml 文件和您需要的任何其他文件。
【讨论】:
如果内容是小句子列表怎么办。为每个句子创建一个部分是没有意义的。我仍然希望将每个句子分开,以便我可以将其风格不同,作为项目符号或其他内容。换句话说,我不希望部分包含标记,因此我可以控制主文件中的标记。 在这种情况下我会选择数据库。以上是关于为 Zend Framework 首页存储静态文本的主要内容,如果未能解决你的问题,请参考以下文章
更新:在 Zend Framework 中管理静态内容的最佳实践?
jquery FormData和Zend Framework 2
Zend Framework 1 应用程序中的缓存破坏静态资产
存储过程zend framework 2.2 tablegateway中的多选问题