你如何处理Zend_Paginator?

时间:2009-06-25 13:17:29

标签: php design-patterns zend-framework pagination

我正在使用MVC查看Zend Framework项目中的Zend_Paginator,它看起来像一个有趣的工具。

看起来我们可以将select对象作为工厂的参数给出,这很有意思,因为这意味着我应该从模型中返回一个select对象,这是一个好方法吗?

这样做似乎有点沉重,因为它不会一直需要......

我也可以给出一个数组,这可能是我的方法模型的结果,但是在我有大量数据的情况下,每次从数据库中检索所有数据可能会很复杂。

我该如何处理?

3 个答案:

答案 0 :(得分:2)

来自文档:http://framework.zend.com/manual/en/zend.paginator.usage.html

  

但是,您可以自己直接提供计数或计数查询。有关详细信息,请参阅DbSelect适配器中的setRowCount()方法。

并且

  

对于Null适配器,代替数据集合,您必须向其构造函数提供项目计数。

我建议你自己做一下,然后手动设置它。也就是说,基于我刚才的阅读。此外,doc指出如果你使用NULL路由,你可以向Paginator构造函数提供item-count(Integer) - 这似乎比查询每个请求的数字更合理。

答案 1 :(得分:0)

几个星期前我发布了这个帖子。它在这里找到: http://blog.ekini.net/2009/06/22/zend-framework-how-to-use-zend_paginator/

这是一个非常简单的教程。它从表单开始,然后是控制器,然后转到视图和分页器文件。

答案 2 :(得分:0)

好吧,我终于找到了一个有趣的方法。

首先,我在阅读了Matthew Weier O'Phinney's blog之后实现了一个域模型模式,他解释了如何实现。

然后,我创建了我的own adapter of Zend_Paginator,同意我的模型。

这是最有趣的方式,直到现在我才发现。