• eBD:STRICT

Sintaxis:

<eBD:STRICT/>

Acción:

Activa la declaración obligatoria de variables.

  • eBD:VAR

Sintaxis:

<eBD:VAR NAME="nombre" [DEFAULT="valor"] [ TYPE="ARRAY | HASH" ] />

Acción:

Declara una variable con o sin valor por defecto. Las variables ARRAY o HASH no pueden tener el mismo nombre que una variable escalar.

Ejemplo:

<eBD:VAR NAME="test" DEFAULT="0"/> <eBD:VAR NAME="lista" TYPE="ARRAY"/>
  • eBD:SET

Sintaxis:

<eBD:SET ( VAR="nombre" | GLOBAL="nombre" | TEMPORAL="nombre" ) [INDEX="indice"] ( VALUE="valor" | EXPR="expresión" | QUERY="queryname" | ROW="rowname" ) />

Acción:

Asigna un valor a una variable (si es una variable global se usa GLOBAL, si es temporal TEMPORAL y sino VAR).
El atributo INDEX indica la posición en el caso que la variable sea un tipo complejo (ARRAY o HASH). Si la expresión es un cálculo matemático debe usarse EXPR. Si se usa QUERY o ROW, se estara asignando un objeto de tipo Query (resultado de un eBD:QUERY) o ROW (resultado de un FETCHROW) a una variable de tipo ARRAY o HASH respectivamente.

Ejemplo:

<eBD:SET VAR="test" VALUE="444"/>
<eBD:SET VAR="test" EXPR="$test+20/4"/>
<eBD:SET VAR="lista" INDEX="0" VALUE="testlista"/>
<eBD:SET VAR="lista_hash" INDEX="nombre" VALUE="pepito"/>
<eBD:SET TEMPORAL="request" VALUE="solo para request"/>
<eBD:SET GLOBAL="IDOBJETO" VALUE="256"/>
  • eBD:OUT

Sintaxis:

<eBD:OUT (VALUE="valor" | EXPR="expresión" )/>

Acción:

Escribe en el buffer de salida el valor especificado.

Ejemplo:

<eBD:OUT VALUE="$test"/> //VARIABLE ESCALAR
<eBD:OUT VALUE="@lista[0]"/> //VARIABLE ARRAY
<eBD:OUT VALUE="@lista{nombre}"/> //VARIABLE HASH
<eBD:OUT VALUE="%IDOBJETO"/> //VARIABLE GLOBAL
<eBD:OUT VALUE="%$request"/> //VARIABLE TEMPORAL
  • eBD:ARGS

Sintaxis:

<eBD:ARGS NAME="nombre" [VAR="nombre"] [DEFAULT="valor"] [TYPE="string|bool|date|datetime|enum|integer|word" NOTNULL="1" VALIDS="ARRAYREF|values" DATEMASK="maskdate" OPTIONALMASK="timemask" BIGGERTHAN="date" LOWERTHAN="date"]/>

Acción:

'Declara' una variable que espera recibir y le asigna un valor por defecto. Si el atributo VAR está definido, en vez de crear la variable con el nombre del parámetro, la crea con el nombre que le pongamos en el atributo VAR. Se puede definir el tipo de argumento esperado, así como mascaras de fechas para validar el dato recibido. Si el tipo es 'enum' el argumento 'VALIDS' podrá ser: ARRAYREF|val1,val2,val3....

Ejemplo:

<eBD:ARGS NAME="idnoticia" DEFAULT="1"/>
  • eBD:SYNCHRONIZE

Sintaxis:

<eBD:SYNCHRONIZE GLOBALS="variable_global" [TIMEOUT="segundos"]>

Acción:

Permite sincronizar el acceso a las variables globales de la sesión entre varias requests concurrentes. Esto permite bloquear las otras requests concurrentes (que esten ejecutando la misma sesión), y sincronizar la lectura y escritura de las variables globales para evitar que se pierdan los cambios realizados. Esta situación, aunque poco común, se puede dar en aplicaciones que hagan un uso intensivo de peticiones ajax, por lo que conviene sincronizar el acceso de lectura y escritura a las variables de sesión que sean utilizadas por varias requests concurrentes. Se pueden añadir varias variables globales, separándolas por comas. La opción TIMEOUT es opcional, si no se especifica su valor será de 5 segundos.

Ejemplo:

<eBD:SYNCHRONIZE GLOBALS="counter,data" TIMEOUT="10"> <eBD:DOC>
This session is locked for 10 seconds and %counter and %data are synchronized with other concurrent requests
</eBD:DOC>
<eBD:SET GLOBAL="counter" EXPR="%counter+1"/>
<eBD:SET GLOBAL="data" VALUE="my_data_value"/>
<eBD:SYNCHRONIZE>