Zend Framework中的简单内容存储(无数据库)

时间:2010-10-27 19:56:51

标签: xml zend-framework

我正在使用Zend Framework的现有网站,我正在努力避免硬编码本质上需要动态的内容。

我有一个文章列表,需要输出为带或不带描述的链接。每个链接都会生成一个动态页面,该页面将输出带有面包屑和其他文章标题的链接列表的完整文章,保存状态以突出显示当前文章。我有一个模板准备好接受每个变量,但首先我需要一个内容源。

因为列表有点短,我们觉得它不应该存储在数据库中(如果没有CMS,我怎么能在数据库中输入/编辑所述内容?)。

这可以通过解析XML文档来完成,还是有其他我没想到的方法?我在非Zend PHP站点上使用过SimpleXML,但直接调用该类似乎不起作用(我认为这可能是路径问题)。

编辑:我最终使用了prodigitals推荐的解决方案:

我为我的内容的元数据(标题,哈希,描述,包含文件)创建了一个XML文件,并将其放在我的app / modules / default / model文件夹中。然后我将每篇完整的文章作为包含片段进行布局,并将文件放在views / partials中。我用我需要的方法创建了一个自定义类并将它放在我的库文件夹中 - 然后,我在控制器的init()方法中实例化了我的类。然后,该对象可用于该控制器内的所有页面/操作。

然后,我可以在相应的视图中调用控制器实例化对象中的任何方法。我可以使用这种方法输出链接,完整文章和我需要的一切。我在输出链接列表之前将当前的URL参数(哈希)传递给类,以突出显示当前链接。

2 个答案:

答案 0 :(得分:3)

我可能会坚持使用XML(或者如果您愿意,也可以使用ini)存储文章的元信息(html文件的路径,导航标题,url / url参数)。然后使用Zend_Config_Xml(或ini)代替SimpleXML id。拉他信息。从那里开始,你需要从中获取所需的varibale,包括实际的内容文件(我将完全与配置分开 - 只需存储“内容”文件的路径)。

答案 1 :(得分:0)

使用数组。您可以将数据放在单独的文件中:

// in data.php
return array(
  array("data1", "data2"),
  array("data3", "data4")
);

// to access data
$data = require('data.php');

它更简单,更快(而且很丑,但它是PHP ;-))