109 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php namespace Illuminate\Contracts\Pagination;
 | |
| 
 | |
| interface Paginator {
 | |
| 
 | |
| 	/**
 | |
| 	 * Get the URL for a given page.
 | |
| 	 *
 | |
| 	 * @param  int  $page
 | |
| 	 * @return string
 | |
| 	 */
 | |
| 	public function url($page);
 | |
| 
 | |
| 	/**
 | |
| 	 * Add a set of query string values to the paginator.
 | |
| 	 *
 | |
| 	 * @param  array|string  $key
 | |
| 	 * @param  string|null  $value
 | |
| 	 * @return $this
 | |
| 	 */
 | |
| 	public function appends($key, $value = null);
 | |
| 
 | |
| 	/**
 | |
| 	 * Get / set the URL fragment to be appended to URLs.
 | |
| 	 *
 | |
| 	 * @param  string|null  $fragment
 | |
| 	 * @return $this|string
 | |
| 	 */
 | |
| 	public function fragment($fragment = null);
 | |
| 
 | |
| 	/**
 | |
| 	 * The the URL for the next page, or null.
 | |
| 	 *
 | |
| 	 * @return string|null
 | |
| 	 */
 | |
| 	public function nextPageUrl();
 | |
| 
 | |
| 	/**
 | |
| 	 * Get the URL for the previous page, or null.
 | |
| 	 *
 | |
| 	 * @return string|null
 | |
| 	 */
 | |
| 	public function previousPageUrl();
 | |
| 
 | |
| 	/**
 | |
| 	 * Get all of the items being paginated.
 | |
| 	 *
 | |
| 	 * @return array
 | |
| 	 */
 | |
| 	public function items();
 | |
| 
 | |
| 	/**
 | |
| 	 * Get the "index" of the first item being paginated.
 | |
| 	 *
 | |
| 	 * @return int
 | |
| 	 */
 | |
| 	public function firstItem();
 | |
| 
 | |
| 	/**
 | |
| 	 * Get the "index" of the last item being paginated.
 | |
| 	 *
 | |
| 	 * @return int
 | |
| 	 */
 | |
| 	public function lastItem();
 | |
| 
 | |
| 	/**
 | |
| 	 * Determine how many items are being shown per page.
 | |
| 	 *
 | |
| 	 * @return int
 | |
| 	 */
 | |
| 	public function perPage();
 | |
| 
 | |
| 	/**
 | |
| 	 * Determine the current page being paginated.
 | |
| 	 *
 | |
| 	 * @return int
 | |
| 	 */
 | |
| 	public function currentPage();
 | |
| 
 | |
| 	/**
 | |
| 	 * Determine if there are enough items to split into multiple pages.
 | |
| 	 *
 | |
| 	 * @return bool
 | |
| 	 */
 | |
| 	public function hasPages();
 | |
| 
 | |
| 	/**
 | |
| 	 * Determine if there is more items in the data store.
 | |
| 	 *
 | |
| 	 * @return bool
 | |
| 	 */
 | |
| 	public function hasMorePages();
 | |
| 
 | |
| 	/**
 | |
| 	 * Determine if the list of items is empty or not.
 | |
| 	 *
 | |
| 	 * @return bool
 | |
| 	 */
 | |
| 	public function isEmpty();
 | |
| 
 | |
| 	/**
 | |
| 	 * Render the paginator using a given Presenter.
 | |
| 	 *
 | |
| 	 * @param  \Illuminate\Contracts\Pagination\Presenter|null  $presenter
 | |
| 	 * @return string
 | |
| 	 */
 | |
| 	public function render(Presenter $presenter = null);
 | |
| 
 | |
| }
 |