\HistorialNavegacion

Implementa un historial de navegación, que permite mantener los URLs de las páginas visitadas.

El historial se maneja como una pila de direcciones.

Summary

Methods
Properties
Constants
__construct()
longitud()
vacio()
posicion()
actual()
anterior()
primero()
primeroPorTipo()
siguienteA()
anteriorA()
agregar()
agregarActual()
remover()
removerHasta()
limpiar()
contiene()
__toString()
toString()
setIteratorOrder()
getIterator()
setDebug()
No public properties found
ORDER_BASE_TO_TOP
ORDER_TOP_TO_BASE
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Constants

ORDER_BASE_TO_TOP

ORDER_BASE_TO_TOP

ORDER_TOP_TO_BASE

ORDER_TOP_TO_BASE

Methods

__construct()

__construct() 

Constructor de la clase.

longitud()

longitud() : integer

Devuelve la longitud total del historial.

Returns

integer

vacio()

vacio() : boolean

Permite comprobar si el historial está vacío.

Returns

boolean

posicion()

posicion(integer  $pos) : \EntradaHistorial

Devuelve la entrada del historial que se encuentra en una posición dada.

Si dicha posición no existe en el historial y éste no está en modo debug, devuelve null si está vacío o la última posición si no.

Parameters

integer $pos

la posición a devolver; la posición de la página actual es la 0, la visitada anteriormente es la 1, ...

Throws

\ExcepcionHistorialNavegacion

si $pos está fuera de rango, sólo si el historial está en modo debug

Returns

\EntradaHistorial

actual()

actual() : \EntradaHistorial

Devuelve la entrada de historial para la página actual.

Si el historial está vacío y no está en modo debug, devuelve null.

Throws

\ExcepcionHistorialNavegacion

si el historial está vacío y en modo debug

Returns

\EntradaHistorial

anterior()

anterior() : \EntradaHistorial

Devuelve el URL de la página anterior a la actual.

Si no existe una anterior y el historial no está en modo debug, devuelve null si está vacío o la última posición si no.

Throws

\ExcepcionHistorialNavegacion

si el historial está vacío o tiene una sola página y está en modo debug

Returns

\EntradaHistorial

primero()

primero(array  $saltear) : \EntradaHistorial

Devuelve la primer entrada del historial (la más reciente) cuyo URI no está en <var>$saltear</var>.

Parameters

array $saltear

lista de (fracciones de) URIs a saltear en el historial

Returns

\EntradaHistorial

la entrada más reciente que no contiene los URIs dados, o null si el historial está vacío o todas sus entradas los contienen

primeroPorTipo()

primeroPorTipo(string  $tipo_pagina) : \EntradaHistorial

Devuelve la primer posición del historial que es del tipo <var>$tipo_pagina</var>.

Parameters

string $tipo_pagina

el tipo de página a buscar; los valores posibles son los que puede retornar {@link tipo_pagina()}

Returns

\EntradaHistorial

siguienteA()

siguienteA(\EntradaHistorial  $entrada_historial) : \EntradaHistorial

Devuelve la entrada siguiente (más reciente) a <var>$entrada_historial</var>.

Si $entrada_historial es la actual (no tiene anterior), devuelve null; si $entrada_historial no pertenece al historial y no está en modo debug, devuelve null.

Parameters

\EntradaHistorial $entrada_historial

Throws

\ExcepcionHistorialNavegacion

si $entrada_historial no está en el historial y está en modo debug

Returns

\EntradaHistorial

anteriorA()

anteriorA(\EntradaHistorial  $entrada_historial) : \EntradaHistorial

Devuelve la entrada anterior (menos reciente) a <var>$entrada_historial</var>.

Si $entrada_historial es la última (no tiene siguiente), devuelve null; si $entrada_historial no pertenece al historial y no está en modo debug, devuelve null.

Notar que $historial->anteriorA($historial->actual()) === $historial->anterior().

Parameters

\EntradaHistorial $entrada_historial

Throws

\ExcepcionHistorialNavegacion

si $entrada_historial no está en el historial y está en modo debug

Returns

\EntradaHistorial

agregar()

agregar(string  $uri) : \EntradaHistorial

Agrega un URL al tope de la pila de direcciones, el cual se vuelve la nueva página actual del historial.

Parameters

string $uri

Returns

\EntradaHistorial

la nueva entrada del historial

agregarActual()

agregarActual() 

Agrega la página actual al tope de la pila de direcciones.

Guarda la cadena completa de consulta, es decir, el valor de $_SERVER['REQUEST_URI'].

remover()

remover() : \EntradaHistorial

Elimina del historial la página que está en el tope.

Si el historial está vacío y no está en modo debug, devuelve null.

Throws

\ExcepcionHistorialNavegacion

si el historial está vacío y en modo debug

Returns

\EntradaHistorial

la entrada de historial de la página eliminada

removerHasta()

removerHasta(integer  $pos) 

Elimina todas las páginas del tope del historial, hasta la posición <var>$pos</var> inclusive.

Un llamado a $h->removerHasta(0) equivale a $h->remover(). Si $pos indica una posición inexistente y el historial no está en modo debug, se eliminan todos los elementos excepto el último.

Parameters

integer $pos

Throws

\ExcepcionHistorialNavegacion

si $pos está fuera de rango y el historial está en modo debug

limpiar()

limpiar() 

Elimina todas las entradas del historial.

contiene()

contiene(string  $uri) : mixed

Permite comprobar si el historial contiene un URI dado.

Parameters

string $uri

Returns

mixed —

la posición en que se encuentra el URI, o false si no está en el historial

__toString()

__toString() : string

Retorna una representación textual del historial.

Returns

string

toString()

toString(string  $separador_entradas = ' &gt; ', integer  $max_entradas, array  $tags_permitidos = array(), string  $compactar_blancos = '&nbsp;', boolean  $traducir_html = true, boolean  $traducir_extras = true, string  $texto_sin_titulo = '???', boolean  $crear_links = false, boolean  $crear_spans = false) : string

Retorna una representación textual del historial.

A diferencia de __toString(), provee diversas opciones para controlar el formato de esta representación.

Parameters

string $separador_entradas

texto a colocar entre cada entrada del historial

integer $max_entradas

cantidad máxima de entradas a mostrar; si la cantidad de entradas en el historial superan este valor, sólo se incluyen las $max_entradas más recientes y se agrega un indicador de corte

array $tags_permitidos

consultar la documentación de la función {@link preparar_salida() preparar_salida()}.

string $compactar_blancos

consultar la documentación de la función {@link preparar_salida() preparar_salida()}.

boolean $traducir_html

consultar la documentación de la función {@link preparar_salida() preparar_salida()}.

boolean $traducir_extras

consultar la documentación de la función {@link preparar_salida() preparar_salida()}.

string $texto_sin_titulo

texto a usar para las entradas que no tengan título

boolean $crear_links

si es true, se encierra cada entrada en un link a su url

boolean $crear_spans

si es true, se encierra cada entrada en un elemento html span, con clase 'elem-historial'

Returns

string

setIteratorOrder()

setIteratorOrder(integer  $order) 

Establece el orden en que los iteradores recorren este objeto.

Parameters

integer $order

una de las constantes HistorialNavegacion::ORDEN_*

getIterator()

getIterator() : \IteradorHistorialNavegacion

Retorna una instancia de un IteradorHistorialNavegacion.

Returns

\IteradorHistorialNavegacion

setDebug()

setDebug(boolean  $modo_debug) 

Establece el estado del modo debug para este objeto.

Cuando está en modo debug, los errores se indican disparando excepciones; cuando no, la operación se completa de la forma más conveniente en cada caso. Por defecto el objeto está en modo debug si la aplicación no está en producción (XGAP_CONF_EN_PRODUCCION == false).

Parameters

boolean $modo_debug