<?php /** * * Cube Framework $Id$ yTnQ2z0Nsi/n2uT0dpFNhSpbTIhz5Lmn+TS+zwwNebU= * * @link http://codecu.be/framework * @copyright Copyright (c) 2014 CodeCube SRL * @license http://codecu.be/framework/license Commercial License * * @version 1.0 */ /** * array pagination adapter */ namespace Cube\Paginator\Adapter; class ArrayAdapter implements AdapterInterface { /** * * data to paginate * * @var array */ protected $_data = null; /** * * number of array rows * * @var integer */ protected $_count = null; /** * * class constructor * * @param array $data the array to be paginated */ public function __construct(array $data) { $this->_data = $data; $this->_count = count($this->_data); } /** * * returns an array of items for the selected page * * @param integer $offset page offset * @param integer $itemCountPerPage number of items per page * @return array */ public function getItems($offset, $itemCountPerPage) { return array_slice($this->_data, $offset, $itemCountPerPage); } /** * * return the number of array rows * * @return integer */ public function count() { return $this->_count; } }