Files
2026-07-01 16:44:17 +03:00

144 lines
3.0 KiB
PHP

<?php namespace ZN\Pagination;
/**
* ZN PHP Web Framework
*
* "Simplicity is the ultimate sophistication." ~ Da Vinci
*
* @package ZN
* @license MIT [http://opensource.org/licenses/MIT]
* @author Ozan UYKUN [ozan@znframework.com]
*/
interface PaginatorInterface
{
/**
* Specifies the URL.
*
* @param string $url
*
* @return Pagination
*/
public function url(string $url) : Paginator;
/**
* Sets the paging initial value.
*
* @param mixed $start
*
* @return Pagination
*/
public function start($start) : Paginator;
/**
* Sets the amount of data to be displayed at one time.
*
* @param int $limit
*
* @return Pagination
*/
public function limit(int $limit) : Paginator;
/**
* Pagination usage type.
* If you select Ajax, ajax needs to be written.
* Several data are defined for this.
*
* @param string $type - options[ajax|classic]
*/
public function type(string $type) : Paginator;
/**
* Paging
*
* @param string $paging - options[row|page]
*
* @return Paginator
*/
public function paging(string $paging) : Paginator;
/**
* Sets the total number of records.
*
* @param int $totalRows
*
* @return Pagination
*/
public function totalRows(int $totalRows) : Paginator;
/**
* Sets the number of page links to be displayed at one time.
*
* @param int $countLinks
*
* @return Pagination
*/
public function countLinks(int $countLinks) : Paginator;
/**
* Change the names of links.
*
* @param string $prev
* @param string $next
* @param string $first
* @param string $last
*
* @return Pagination
*/
public function linkNames(string $prev, string $next, string $first, string $last) : Paginator;
/**
* Sets paging's css values.
*
* @param array $css
*
* @return Pagination
*/
public function css(array $css) : Paginator;
/**
* Sets paging's style values.
*
* @param array $style
*
* @return Pagination
*/
public function style(array $style) : Paginator;
/**
* Sets paging's output type.
*
* @param string $type - options[bootstrap|classic]
*
* @return Pagination
*/
public function output(string $type) : Paginator;
/**
* Returns the current URL for paging.
*
* @param string $page = NULL
*
* @return string
*/
public function getURI(?string $page = NULL) : string;
/**
* Configures all settings of the page.
*
* @param array $cofig = []
*
* @return Pagination
*/
public function settings(array $config = []) : Paginator;
/**
* Creates the pagination.
*
* @param mixed $start
* @param array $settings = []
*
* @return string
*/
public function create($start, array $settings = []) : string;
}