public function onGetItems($offset, $itemCountPerPage) { $result = []; foreach ($this->proxy->getItems($offset, $itemCountPerPage) as $key => $value) { $result[] = $this->build($key, $value); } return $result; }
/** * Returns the items for a given page. * * @param int $pageNumber * @return mixed */ protected function getItems() { $items = $this->adapter->getItems($this->offset, $this->count); if (!$items instanceof \Traversable) { $items = new \ArrayIterator($items); } return $items; }
/** * Returns the items for a given page. * * @param integer $pageNumber * @return mixed */ public function getItemsByPage($pageNumber) { $pageNumber = $this->normalizePageNumber($pageNumber); if ($this->cacheEnabled()) { $data = self::$cache->getItem($this->_getCacheId($pageNumber)); if ($data) { return $data; } } $offset = ($pageNumber - 1) * $this->getItemCountPerPage(); $items = $this->adapter->getItems($offset, $this->getItemCountPerPage()); $filter = $this->getFilter(); if ($filter !== null) { $items = $filter->filter($items); } if (!$items instanceof Traversable) { $items = new ArrayIterator($items); } if ($this->cacheEnabled()) { $cacheId = $this->_getCacheId($pageNumber); self::$cache->setItem($cacheId, $items); self::$cache->setTags($cacheId, array($this->_getCacheInternalId())); } return $items; }
/** * Returns the items for a given page. * * @param int $pageNumber * @return mixed */ public function getItemsByPage($pageNumber) { $pageNumber = $this->normalizePageNumber($pageNumber); $offset = ($pageNumber - 1) * $this->getItemCountPerPage(); $items = $this->adapter->getItems($offset, $this->getItemCountPerPage()); $filter = $this->getFilter(); if ($filter !== null) { $items = $filter->filter($items); } if (!$items instanceof Traversable) { $items = new ArrayIterator($items); } return $items; }
/** * Returns the items for a given page. * * @return Traversable */ public function getItemsByPage($pageNumber) { $pageNumber = $this->normalizePageNumber($pageNumber); if ($this->_cacheEnabled()) { $data = self::$_cache->load($this->_getCacheId($pageNumber)); if ($data !== false) { return $data; } } $offset = ($pageNumber - 1) * $this->getItemCountPerPage(); $items = $this->_adapter->getItems($offset, $this->getItemCountPerPage()); $filter = $this->getFilter(); if ($filter !== null) { $items = $filter->filter($items); } if (!$items instanceof \Traversable) { $items = new \ArrayIterator($items); } if ($this->_cacheEnabled()) { self::$_cache->save($items, $this->_getCacheId($pageNumber), array($this->_getCacheInternalId())); } return $items; }