Depending on your application you might want to paginate objects, whose internal
data-structure is equal to existing adapters, but you don't want to break up your
encapsulation to allow access to this data. In other cases an object might be in a
"has-an adapter" relationship, rather than the "is-an adapter" relationsship that
Zend_Paginator_Adapter_Abstract promotes. For this cases you can
use the Zend_Paginator_AdapterAggregate interface that behaves
much like the IteratorAggregate interface of the
PHP SPL extension.
<?php
interface Zend_Paginator_AdapterAggregate
{
/**
* Return a fully configured Paginator Adapter from this method.
*
* @return Zend_Paginator_Adapter_Abstract
*/
public function getPaginatorAdapter();
}
The interface is fairly small and only expects you to return an instance of
Zend_Paginator_Adapter_Abstract. An Adapter Aggregate instance is
then recognized by both Zend_Paginator::factory() and the
constructor of Zend_Paginator and handled accordingly.




