Дело в том, что Zend_Paginator
имеет очень удобный набор адаптеров. Одним из них является Zend_Paginator_Adapter_DbSelect
, который позволяет заключить запрос Zend_Db_Select
для эффективного разбиения на страницы SQL-запроса (например, ограничения результатов). Итак, я понимаю, почему вы задаетесь вопросом, где их построить. Хотя вы действительно можете обсудить, является ли модель лучшим местом, лично у меня нет проблем с созданием метода в моей модели, например:
public function fetchEntitiesAsPaginator();
... который вернул бы Zend_Paginator
экземпляр, внедренный с Zend_Paginator_Adapter_DbSelect
.
КСТАТИ:
Лично я не считаю пагинатор просто для презентации. Я просто считаю это прославленным LimitIterator. Когда вы смотрите на это с этой точки зрения, вещи уже начинают выглядеть немного иначе. И как примечание: проблемы представления Zend_Paginator
уже разделены помощником вида Zend_View_Helper_PaginationControl
.