Pagination

Pagina registros de una base de datos o de un arreglo, también se encarga de la vista.

 

Ejemplo inicial

En el siguiente ejemplo, se extrae una porción de un arreglo que corresponde a una página actual y a un número de filas por páginas.

$pagi = new Pagination();
$pagi->cur_page      = 2;
$pagi->rows_per_page = 20;
$pagi->slice($rows);

 

Métodos

Pagination::slice

Extrae una porción de arreglo correspondiente a la página actual.

public Pagination::slice ( array $rows ): void
rows

El arreglo que se desea paginar. El arreglo paginado se devolverá con el método fetchAll.

 

Pagination::fetchAll

Devuelve un arreglo con el resultado de la paginación.

public Pagination::fetchAll( ): array

 

Pagination::url

Se utiliza para ingresar la url que luego, en un fragmento, será utilizada para generar los botones de paginación.

public Pagination::url ( string $route = '', array $args = [], $hash = ''): void
route

La ruta, igual que en Router::url.

args

Un arreglo con los parámetros de la queryString.

hash

Una cadena con el hash, incluido el símbolo # al comienzo.

 

Metodos para librerías

En general, los siguientes métodos solo deberían ser utilizados, internamente, por otras librerías. Por ejemplo, como lo hace Database.

 

Pagination::calculate()

Se encarga de calcular la paginación.

public Pagination::calculate(): void

 

Pagination::setRows

Ingresa el arreglo ya paginado.

public Pagination::setRows( array $rows ): void

 

Propiedades

Algunas de estas propiedades, deben ser configuradas. Otras, se calculan a partir de las primeras.

 

Pagination::$cur_page

La página actual. De no declararse, se buscará en la variable $_REQUEST.

Pagination::$rows_per_page

El número de filas por página. Por defecto es de 15.

Pagination::$num_rows

El número total de filas a paginar. Por lo general, este valor surge del tamaño del arreglo a paginar o de una consulta a la base de datos.

Pagination::$num_pages

El número total de páginas. Este valor es calculado internamente por la clase.

Pagination::$offset

Valor inicial a partir del cual se devolverán las filas ya paginadas.