<?php /** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */ namespace yii\data; /** * IDataProvider is the interface that must be implemented by data provider classes. * * Data providers are components that sort and paginate data, and provide them to widgets * such as [[GridView]], [[ListView]]. * * @author Qiang Xue <qiang.xue@gmail.com> * @since 2.0 */ interface IDataProvider { /** * Returns the number of data models in the current page. * This is equivalent to `count($provider->getModels())`. * When [[pagination]] is false, this is the same as [[totalCount]]. * @return integer the number of data models in the current page. */ public function getCount(); /** * Returns the total number of data models. * When [[pagination]] is false, this is the same as [[count]]. * @return integer total number of possible data models. */ public function getTotalCount(); /** * Returns the data models in the current page. * @return array the list of data models in the current page. */ public function getModels(); /** * Returns the key values associated with the data models. * @return array the list of key values corresponding to [[models]]. Each data model in [[models]] * is uniquely identified by the corresponding key value in this array. */ public function getKeys(); /** * @return Sort the sorting object. If this is false, it means the sorting is disabled. */ public function getSort(); /** * @return Pagination the pagination object. If this is false, it means the pagination is disabled. */ public function getPagination(); }