DOMbasic  1.0
DOMBasic es un Framework PHP para la creación de elementos DOM que generan contenido HTML dinámico y permite su modificación 'al vuelo' (Websites). Está escrito entéramente en PHP y sigue el paradigma POO.
Métodos públicos | Métodos públicos estáticos | Campos de datos | Métodos protegidos | Atributos protegidos | Atributos protegidos estáticos
Referencia de la Clase DOM_element
Diagrama de herencias de DOM_element
DOM_attribs DOM_Interface DOM_textNode

Métodos públicos

 __construct ($key=null)
 
 __clone ()
 
 __unset ($child)
 
 __toString ()
 
 reinicializar ()
 
 setReadOnly ($readOnly)
 
 getReadOnly ()
 
 setKey (string $key=null)
 
 getKey ()
 
 getTag ()
 
 setTag ($tag)
 
 getOpenTag ()
 
 getCloseTag ()
 
 getType ()
 
 getDesc ()
 
 clearText ()
 
 setText ($text)
 
 addText ($text)
 
 getTextAll ($filter=false)
 
 getText ($filter=false)
 
 addChild (DOM_element $child=null)
 
 addChildren (array $children=null)
 
 setChildren (array $children=null)
 
 getChildren ()
 
 getChildrenAll ()
 
 getChildByKey ($key, $grandchildren=true)
 
 getChildrenByTag ($tag, $grandchildren=true)
 
 getChildrenByType ($type, $grandchildren=true)
 
 removeChild ($child, $grandchildren=true)
 
 removeChildrenAll ()
 
 removeChildByKey ($key, $grandchildren=true)
 
 removeChildrenByTag ($tag, $grandchildren=true)
 
 removeChildrenByType ($type, $grandchildren=true)
 
 equals ($objDOM)
 
 equalsType ($objDOM)
 
 toHTML ()
 
 toJSON ($return=true, $base64values=true)
 
 fromJSON ($json)
 
 fromDOM_element (DOM_element $dom)
 
 attribsToURL ($encode=self::ENCODE_RFC_1738)
 
 attribsFromURL ($strURL)
 
 getConfiguration ()
 
 setConfiguration (array $conf)
 
 importConfINI ($confFile=null)
 
- Métodos públicos heredados desde DOM_attribs
 __construct ($asocArrayAttribs=null)
 
 setReadOnly ($readOnly)
 
 getReadOnly ()
 
 reinicializar ()
 
 __get ($attrib)
 
 __set ($attrib, $value)
 
 __isset ($attrib)
 
 __unset ($attrib)
 
 offsetExists ($attrib)
 
 offsetGet ($attrib)
 
 offsetSet ($attrib, $value)
 
 offsetUnset ($attrib)
 
 getIterator ()
 
 setAttribs ($asocArrayAttribs)
 
 getAttribs ()
 
 getAttribsStr ()
 
 addAttrib ($attrib, $valorAttrib)
 
 addAttribs ($arrayAttribs)
 
 removeAttrib ($attrib)
 
 removeAttribs ($arrayAttribs)
 
 clearAttribs ()
 
 countAttrs ()
 
 equals ($objAttribs)
 
 __toString ()
 
 toJSON ($return=true, $base64values=true)
 
 fromJSON ($arrJSON)
 
 setEjemplo ()
 

Métodos públicos estáticos

static getInstance ()
 
static getDTD (int $dtd)
 
static objJSON2DOM_element ($objectJSON, $return=true, $base64values=true)
 
- Métodos públicos estáticos heredados desde DOM_attribs
static arrayFromURL ($strURLquery)
 
static filtrarStrJSON ($str="")
 
static writeLog ($mensaje, $trace)
 

Campos de datos

const N_C = __CLASS__
 
const PATRON_SINGLETON =true
 
const AVISO_SINGLETON =true
 
- Campos de datos heredados desde DOM_attribs
const N_C = __CLASS__
 
const ENCODE_RFC_1738 ="RFC_1738"
 
const ENCODE_RFC_3986 ="RFC_3986"
 

Métodos protegidos

 tryingWrite ($arg="")
 
- Métodos protegidos heredados desde DOM_attribs
 tryingWrite ($arg="")
 
 toURL ($encode=self::ENCODE_RFC_3986)
 
 fromURL ($strURLquery)
 

Atributos protegidos

 $_READ_ONLY =false
 
 $TAG = ""
 
 $TYPE = "container"
 
 $DESC = "DOM's container element"
 
 $OPEN_TAG_LEFT ="<"
 
 $OPEN_TAG_RIGHT =">"
 
 $CLOSE_TAG_LEFT ="</"
 
 $CLOSE_TAG_RIGHT =">"
 
 $AVISO_GET =false
 
 $_key =""
 
 $_text =""
 
 $_children =array()
 
- Atributos protegidos heredados desde DOM_attribs
 $_READ_ONLY =false
 
 $AVISO_GET =false
 
 $_attribs =array()
 

Atributos protegidos estáticos

static $DTD_DOCTYPE_HTML =0
 
static $DTD_DOCTYPE_XHTML_TRANSITIONAL =10
 
static $DTD_DOCTYPE_XHTML_STRICT =10
 
static $DTD_XML_1_0 =20
 
static $LINE_BREAK ="\n"
 
static $instance
 

Descripción detallada

Clase padre para crear cualquier elemento del DOM. Admite CONCATENACION DE METODOS mediante el retorno de la construccion '$this' en todos los metodos 'NO-GETTER': … $this->setText('text')->removeChild($child)->importConfINI();

Documentación de las funciones miembro

__unset (   $child)

Desde PHP 5.1.0

Excepciones
DOMBasicElementReadOnlyExceptionIf 'Read Only' ON.
DOMBasicElementNotFoundExceptionIf $attrib is not a key in the $_attribs array.
Parámetros
DOM_element$childThe element to unset.
addChild ( DOM_element  $child = null)

Metodo para agregar un hijo al elemento DOM.

Parámetros
$childElemento DOM.
Devuelve
DOM_element $this este elemento (DOM).
Ver también
DOM_Interface::addChildren()
DOM_Interface::setChildren()

Implementa DOM_Interface.

addChildren ( array  $children = null)

Metodo para agregar un array de hijos de elementos DOM, al ya existente.

Parámetros
$childElemento DOM.
Devuelve
DOM_element $this este elemento (DOM).
Ver también
DOM_Interface::addChild()
DOM_Interface::setChildren()

Implementa DOM_Interface.

attribsFromURL (   $strURL)

Establece y retorna un array de atributos con sus correspondientes valores extraidos de una cadena con el formato de las URL's, para construir Atributos de este Objeto.

El parametro es la cadena desde la que se extraeran los atributos y sus valores, esta cadena tendra el formato entregado en las URL's como parte de su 'queryString' (entre '?' y '#'), Igual a la generada por el metodo toURL().

Parámetros
$encodeCadena indicando el tipo de codificacion (alguna de las dos constantes indicadas RFC_1738 o RFC_3986).
Devuelve
Array de atributos extraidos de la queryString.
attribsToURL (   $encode = self::ENCODE_RFC_1738)

Retorna una cadena con el formato de las URL's, construida con los Atributos de este Objeto.
Contiene un parametro $encode indicando el tipo de codificacion a aplicar: 'RFC_1738' (espacios=+) o 'RFC_3986' (espacions=%20), las cuales estan implementadas como cadenas staticas de la clase DOM_attribs.

Parámetros
$encodeCadena indicando el tipo de codificacion (alguna de las dos constantes indicadas RFC_1738 o RFC_3986).
Devuelve
Cadena con formato de codificacion URL.
equals (   $objDOM)

Compara si otro objeto es igual (comparable no clonable) a este (no si es el mismo); para esto se tienen que cumplir las siguientes normas:

  • Que los dos sean instancias de la misma Clase (el mismo tipo de elemento y etiqueta).
  • Que los dos tengan definidos el mismo numero de atributos y con los mismos valores.
  • Que los dos tengan definidos el mismo numero de hijos y con los mismos valores.
  • Tambien que los dos tengan definida la misma clave.
  • Incluso que los dos contengan el mismo texto como contenido.
Parámetros
DOM_element$objDOMAlgun objeto instancia de esta Clase
Devuelve
boolean
equalsType (   $objDOM)

Compara si otro objeto es del mismo TIPO que este (no si es el mismo)

Parámetros
DOM_element$objDOMAlgun objeto instancia de esta Clase
Devuelve
boolean

Implementa DOM_Interface.

fromDOM_element ( DOM_element  $dom)

Metodo para reconstruir este objeto a la imagen y semejanza del objeto DOM_element entregado, con hijos, atributos, y caracteristicas propias.

Parámetros
DOM_element$domUn objeto de esta clase.
Devuelve
DOM_element Este elemento (this) recreado equivalente (pero no el mismo) al objeto entregado.
fromJSON (   $json)

Metodo para reconstruir este objeto a la imagen y semejanza de la cadena JSON entregada que deberia representar otro DOM_element con hijos, atributos, y caracteristicas propias.

Detecta AUTOMATICAMENTE si el objeto se codifico con 'base64'.

UTILIZA LA FUNCION PHP 'json_decode()' con parametros por defecto.

Parámetros
string$jsonLa cadena json que representa un objeto DOM_element. Esta cadena se construye con la funcion contraria toJSON().
Devuelve
DOM_element El elemento actual (this) reconstruido a la forma del objeto de entrada.

Implementa DOM_Interface.

getChildByKey (   $key,
  $grandchildren = true 
)

Metodo para buscar y retornar un hijo del elemento que contenga la misma clave que la pasada por parametro, este metodo es recursivo pero retorna el primer elemento que concuerde su clave, el segundo parametro (por defecto TRUE) indica si comprobar recursivamente en nietos...

CAUTION!: USE RECURSIVE FUNCTION!!

Parámetros
string$keyLa clave del elemento a buscar.
boolean$grandchildrenTRUE=elimina recursivamente, FALSE=solo mira en los hijos directos.
Devuelve
DOM_element Elemento si es que se encuentra, sino null.
Ver también
DOM_Interface::getChildrenByTag()
DOM_Interface::getChildrenByType()
DOM_Interface::getChildren()
DOM_Interface::getChildrenAll()

Implementa DOM_Interface.

getChildren ( )

Metodo para retornar el array de todos los hijos del elemento DOM. Similar a DOM_Interface::getChildrenAll()

Devuelve
Array de elementos (DOM) con sus atributos correspondientes.
Ver también
DOM_Interface::getChildrenAll()
DOM_Interface::getChildByKey()
DOM_Interface::getChildrenByTag()
DOM_Interface::getChildrenByType()

Implementa DOM_Interface.

getChildrenAll ( )

Metodo para retornar un array con todos los hijos de forma recursiva (nietos, bisnietos, ...) del elemento DOM. Similar a DOM_Interface::getChildren()

Devuelve
Array de elementos (DOM) con sus atributos correspondientes.
Ver también
DOM_Interface::getChildren()
DOM_Interface::getChildByKey()
DOM_Interface::getChildrenByTag()
DOM_Interface::getChildrenByType()

Implementa DOM_Interface.

getChildrenByTag (   $tag,
  $grandchildren = true 
)

Metodo para buscar y retornar un array de hijos del elemento que contengan la misma etiqueta (TAG) que la pasada por parametro, el segundo parametro (por defecto TRUE) indica si comprobar recursivamente en nietos...

CAUTION!: RECURSIVE FUNCTION!!

Parámetros
string$tagLa etiqueta (TAG) del elemento a buscar.
boolean$grandchildrenTRUE=elimina recursivamente, FALSE=solo mira en los hijos directos.
Devuelve
array(DOM_element) si es que se encuentran, sino un array vacio.
Ver también
DOM_Interface::getChildByKey()
DOM_Interface::getChildrenByType()
DOM_Interface::getChildren()
DOM_Interface::getChildrenAll()

Implementa DOM_Interface.

getChildrenByType (   $type,
  $grandchildren = true 
)

Metodo para buscar y retornar un array de hijos del elemento que sean del mismo tipo (TYPE) que el pasado por parametro, el segundo parametro (por defecto TRUE) indica si comprobar recursivamente en nietos...

CAUTION!: RECURSIVE FUNCTION!!

Parámetros
string$typeEl tipo (TYPE) del elemento a buscar.
boolean$grandchildrenTRUE=elimina recursivamente, FALSE=solo mira en los hijos directos.
Devuelve
array(DOM_element) si es que se encuentran, sino un array vacio.
Ver también
DOM_Interface::getChildByKey()
DOM_Interface::getChildrenByTag()
DOM_Interface::getChildren()
DOM_Interface::getChildrenAll()

Implementa DOM_Interface.

getCloseTag ( )

Metodo para leer la etiqueta HTML de cierre construida para este elemento, con sus atributos incluidos.

NOTE: Existen elementos que deben establecer la suya propia, como los elementos autocontendios (<img />, </br >, ...) o elementos sin etiqueta como 'textNode'.

Devuelve
String con la etiqueta HTML de cierre.

Implementa DOM_Interface.

getConfiguration ( )

Leer la configuracion de este elemento

Devuelve
array
Ver también
DOM_Interface::setConfiguration()
DOM_Interface::importConfINI()

Implementa DOM_Interface.

getDesc ( )

Metodo para leer la descripcion DOM de este elemento.

Devuelve
String con la descripcion de este elemento DOM.

Implementa DOM_Interface.

static getDTD ( int  $dtd)
static

Metodo para obtener una etiqueta de definicion DTD que especifique el tipo de documento que estamos tratando. (HTML, XHTML, XML, ...)

Parámetros
int$dtdUn entero identificando el tipo de DTD a retornar. Puede ser una de las constantes de esta clase que comienzan con DTD_
Devuelve
string La cadena con el DTD solicitado.
static getInstance ( )
static

PATRON SINGLETON. Tomar una instancia de forma estatica.
$attrbs = DOM_attribs::getInstance();

getKey ( )

Metodo para tomar la clave del elemento.

Devuelve
String con la clave de este elemento.

Implementa DOM_Interface.

getOpenTag ( )

Metodo para leer la etiqueta HTML de apertura construida para este elemento, con sus atributos incluidos.

Devuelve
String con la etiqueta HTML de apertura.

Implementa DOM_Interface.

getTag ( )

Metodo para leer la etiqueta DOM de este elemento.

Devuelve
String con la etiqueta de este elemento DOM.

Implementa DOM_Interface.

getText (   $filter = false)

Metodo para retornar el texto de este elemento DOM (la concatenacion de los textos de todos los elementos textNode).

Parámetros
$filter[boolean] Permite especificar si el texto se retorna filtrado mediante 'htmlspecialchars_decode(...)' y 'stripcslashes(...)' o no. [Por defecto NO]
Devuelve
string con el texto de todos los nodos tipo 'textNode' de este elemento.
getTextAll (   $filter = false)

Retorna todo el texto encontrado en este elemento y en sus hijos.

Parámetros
$filter[boolean] Permite especificar si el texto se retorna filtrado mediante 'htmlspecialchars_decode(...)' y 'stripcslashes(...)' o no. [Por defecto NO]
Devuelve
string con el texto de todos los nodos tipo 'textNode' de este elemento y sus hijos.
getType ( )

Metodo para leer el tipo DOM de este elemento.

Devuelve
String con el tipo de este elemento DOM.

Implementa DOM_Interface.

importConfINI (   $confFile = null)

Importar las configuraciones desde el archivo config.ini, Utiliza la seccion del INI [CONF_SEC].

Si no se entrega parametro de ruta se utilizara el archivo de configuracion por defecto ('config.ini') en la ruta del pakete.

El archivo INI de configuracion debe tener una estructura INI adecuada, con sus secciones validas y sus variables y valores:
Caracteres exclusivamente AlfaNumericos, o sino, encerrados entre comillas dobles ' " ', Lineas de Comentarios inician con punto y coma ' ; ', …

Debe contener como minimo las siguientes secciones: [PK_SEC] : Seccion para identificacion del pakete. [CONSTS_SEC] : Seccion para las constantes de la clase (PATH_CLASS_DOM, CONF_INI_FILE_DOM, ...) [CONF_SEC] : Seccion para las variables de configuracion (TAG, _text,...)

Para poder simular el incluir comillas dobles, se ha definido un 'token' (QUOTE), que puede utilizarse dentro del INI.
Parámetros
string$confFile(OPCIONAL, DEFAULT=NULL) La ruta completa al archivo de configuracion INI a cargar.
Devuelve
DOM_element $this este elemento (DOM) con sus atributos correspondientes.
Ver también
DOM_Interface::getConfiguration()
DOM_Interface::setConfiguration()

Implementa DOM_Interface.

static objJSON2DOM_element (   $objectJSON,
  $return = true,
  $base64values = true 
)
static

Metodo estatico para construir un objeto DOM a la imagen y semejanza del objeto JSON entregado que deberia representar otro DOM_element con hijos, atributos, y caracteristicas propias.

NI QUE DECIR TIENE QUE EL OBJETO JSON ENTREGADO DEBE SER UN FIEL REFLEJO DE ALGUN ELEMENTO DE ESTA CLASE, NORMALMENTE SE OBTENDRA DECODIFICANDO EL RETORNO DE LA FUNCION toJSON(); (json_decode(...->toJSON();))

Parámetros
JSON$objectJSONEs un objeto creado con una cadena JSON.
boolean$returnExpresa si retornar (TRUE) el objeto creado o imprimirlo (FALSE).
boolean$base64valuesIndica si codificar los textos en 'base64' o no.
Devuelve
DOM_element El elemento (DOM_element) creado equivalente al objeto entregado o NULL en caso de impresion.
removeChild (   $child,
  $grandchildren = true 
)

Metodo para eliminar el hijo del elemento que sea el mismo ('equalsExact') que el pasado por parametro, Retorna el numero de elementos eliminados, Este metodo puede ser recursivo, el segundo parametro (por defecto TRUE) indica si comprobar recursivamente en nietos...

CAUTION!: USE RECURSIVE FUNCTION!!

Parámetros
DOM_element$childEl objeto hijo a eliminar.
boolean$grandchildrenTRUE(DEFAULT)=elimina recursivamente, FALSE=solo mira en los hijos directos.
Devuelve
DOM_element $this este elemento (DOM).
Ver también
DOM_Interface::removeChildrenAll()
DOM_Interface::removeChildByKey()
DOM_Interface::removeChildrenByTag()
DOM_Interface::removeChildrenByType()

Implementa DOM_Interface.

removeChildByKey (   $key,
  $grandchildren = true 
)

Metodo para eliminar el hijo del elemento que contengan la misma clave que la pasada por parametro, Este metodo es recursivo, el segundo parametro (por defecto TRUE) indica si comprobar recursivamente en nietos...

CAUTION!: USE RECURSIVE FUNCTION!!

Parámetros
string$keyLa clave del elemento a eliminar.
boolean$grandchildrenTRUE=elimina recursivamente, FALSE=solo mira en los hijos directos.
Devuelve
DOM_element $this este elemento (DOM).
Ver también
DOM_Interface::removeChild()
DOM_Interface::removeChildrenAll()
DOM_Interface::removeChildrenByTag()
DOM_Interface::removeChildrenByType()

Implementa DOM_Interface.

removeChildrenAll ( )

Elimina todos sus hijos (ELIMINA EL CONTENIDO ENTERO DE ESTE ELEMENTO).

Devuelve
DOM_element $this este elemento (DOM).
Ver también
DOM_Interface::removeChild()
DOM_Interface::removeChildByKey()
DOM_Interface::removeChildrenByTag()
DOM_Interface::removeChildrenByType()

Implementa DOM_Interface.

removeChildrenByTag (   $tag,
  $grandchildren = true 
)

Metodo para eliminar los hijos del elemento que contengan la misma etiqueta (TAG) que la pasada por parametro, Retorna el numero de elementos eliminados, Este metodo es recursivo, el segundo parametro (por defecto TRUE) indica si comprobar recursivamente en nietos...

CAUTION!: USE RECURSIVE FUNCTION!!

Parámetros
string$tagLa etiqueta (TAG) del elemento a eliminar.
boolean$grandchildrenTRUE=elimina recursivamente, FALSE=solo mira en los hijos directos.
Devuelve
DOM_element $this este elemento (DOM).
Ver también
DOM_Interface::removeChild()
DOM_Interface::removeChildrenAll()
DOM_Interface::removeChildByKey()
DOM_Interface::removeChildrenByType()

Implementa DOM_Interface.

removeChildrenByType (   $type,
  $grandchildren = true 
)

Metodo para eliminar los hijos del elemento que sean del mismo tipo (Type) que el pasado por parametro, Retorna el numero de elementos eliminados, Este metodo es recursivo, el segundo parametro (por defecto TRUE) indica si comprobar recursivamente en nietos...

CAUTION!: USE RECURSIVE FUNCTION!!

Parámetros
string$tagLa etiqueta (TAG) del elemento a eliminar.
boolean$grandchildrenTRUE=elimina recursivamente, FALSE=solo mira en los hijos directos.
Devuelve
DOM_element $this este elemento (DOM).
Ver también
DOM_Interface::removeChild()
DOM_Interface::removeChildrenAll()
DOM_Interface::removeChildByKey()
DOM_Interface::removeChildrenByTag()

Implementa DOM_Interface.

setChildren ( array  $children = null)

Metodo para establecer los hijos al elemento DOM. Estos hijos a su vez deben ser elementos DOM.

Parámetros
$childrenArray Elementos del DOM.
Devuelve
DOM_element $this este elemento (DOM).
Ver también
DOM_Interface::addChild()
DOM_Interface::addChildren()

Implementa DOM_Interface.

setConfiguration ( array  $conf)

Grabar la configuracion de este elemento

Parámetros
array$confArray asociativo de variables de configuracion en formato 'clave=valor'
Devuelve
DOM_element $this este elemento (DOM).
Ver también
DOM_Interface::getConfiguration()
DOM_Interface::importConfINI()

Implementa DOM_Interface.

setKey ( string  $key = null)

Metodo para establecer la clave de este elemento DOM.

Parámetros
$keystring clave del elemento.
Devuelve
DOM_element $this este elemento (DOM).

Implementa DOM_Interface.

setText (   $text)

Agreaga un hijo de texto (textNode) a este elemento DOM, eliminando los hijos tipo 'textNode' que tubiese

Parámetros
string$textpara este elemento.
Devuelve
string con el texto anterior.
toHTML ( )

Metodo para retornar la cadena que representa el HTML de este elemento DOM con sus atributos, y los de sus hijos, correspondientes.

Devuelve
String HTML de este elemento (DOM) con sus atributos correspondientes.

Implementa DOM_Interface.

toJSON (   $return = true,
  $base64values = true 
)

Metodo para retornar la cadena JSON que representa este elemento DOM con sus hijos y con sus atributos, y los de sus hijos, correspondientes.

RECOMENDADO: Aporta un segundo parametro para codificar todos los valores (no las claves) en 'base64', (DEFECTO=true), asi podriamos evitar el problema de los tipos de codificacion empleados (JSON solo admite UTF-8).

NO UTILIZA LA FUNCION PHP 'json_encode(..)'

<del>Utiliza las siguientes constantes PHP 5.3: JSON_HEX_QUOT && JSON_HEX_TAG && JSON_HEX_AMP && JSON_HEX_APOS</del>

Parámetros
boolean$returnIndica si retornar el resultado (TRUE) o imprimirlo (FALSE).
boolean$base64valuesIndica si codificar los textos en 'base64' o no.
Devuelve
String JSON de este elemento (DOM) con sus atributos correspondientes o NULL en caso de desear imprimirlo.

Implementa DOM_Interface.

tryingWrite (   $arg = "")
protected

:OVERRIDE-PARENT:

Notifica una accion de escritura al objeto; Si es de solo-lectura lanzara una Excepcion.

Devuelve
boolean TRUE=OK, FALSE=throw DOMBasicElementReadOnlyException()
Excepciones
DOMBasicElementReadOnlyException;

Documentación de los campos

$AVISO_GET =false
protected

¿ Lanzar Aviso cuando se lee un atributo que no existe ?

const AVISO_SINGLETON =true

¿ Lanzar Aviso cuando se intenta tomar una instancia estatica mediante el 'Patron SINGLETON' sin estar permitida por ''PATRON SINGLETON' ?

const PATRON_SINGLETON =true

¿ Permitir el patron SINGLETON ?


La documentación para esta clase fue generada a partir del siguiente fichero: