ORDER_BASE_TO_TOP
ORDER_BASE_TO_TOP
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.
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.
integer | $pos | la posición a devolver; la posición de la página actual es la 0, la visitada anteriormente es la 1, ... |
si $pos está fuera de rango, sólo si el historial está en modo debug
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.
si el historial está vacío y en modo debug
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.
si el historial está vacío o tiene una sola página y está en modo debug
primero(array $saltear) : \EntradaHistorial
Devuelve la primer entrada del historial (la más reciente) cuyo URI no está en <var>$saltear</var>.
array | $saltear | lista de (fracciones de) URIs a saltear en el historial |
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(string $tipo_pagina) : \EntradaHistorial
Devuelve la primer posición del historial que es del tipo <var>$tipo_pagina</var>.
string | $tipo_pagina | el tipo de página a buscar; los valores posibles son los que puede retornar {@link tipo_pagina()} |
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.
\EntradaHistorial | $entrada_historial |
si $entrada_historial no está en el historial y está en modo debug
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().
\EntradaHistorial | $entrada_historial |
si $entrada_historial no está en el historial y está en modo debug
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.
string | $uri |
la nueva entrada del historial
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.
si el historial está vacío y en modo debug
la entrada de historial de la página eliminada
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.
integer | $pos |
si $pos está fuera de rango y el historial está en modo debug
toString(string $separador_entradas = ' > ', integer $max_entradas, array $tags_permitidos = array(), string $compactar_blancos = ' ', 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.
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' |
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).
boolean | $modo_debug |