\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