PREF_LITERAL
PREF_LITERAL
Si se usa como prefijo para un string dado en un array de opciones, indica que el valor es literal y no se debe codificar.
Provee métodos para construir código Javascript.
codificarString(String $string, boolean $comillas_dobles = true) : String
Codifica <var>$string</var> como un string javascript.
String | $string | |
boolean | $comillas_dobles | ¿el string se debe encerrar entre comillas dobles (true) o simples (false)? |
$string encerrado entre comillas y con los caracteres escapados correctamente; si $string tiene el prefijo Javascript::PREF_LITERAL, devuelve $string sin el prefijo
codificarValor(mixed $valor, boolean $conservar_invalido = false) : String
Codifica un valor <i>escalar</i> <var>$valor</var> como un valor javascript.<br> Por ejemplo: - <kbd>Javascript::codificarValor(false) == 'false'</kbd> - <kbd>Javascript::codificarValor(5) == '5'</kbd> - <kbd>Javascript::codificarValor('5') == '"5"'</kbd> - <kbd>Javascript::codificarValor(array('a'), false) == null</kbd> - <kbd>Javascript::codificarValor(array('a'), true) == array('a')</kbd>
mixed | $valor | el valor a codificar |
boolean | $conservar_invalido | ¿un valor inválido (no escalar) debe retornarse intacto o como null? |
el valor codificado
codificarValores(Array $array, boolean $conservar_invalidos = false) : Array
Codifica todos los valores en <var>$array</var> usando {@link Javascript::codificarValor()}.
Array | $array | |
boolean | $conservar_invalidos | ¿los valores inválidos (no escalares) deben conservarse intactos o como null? |
el array con los valores codificados
construirLista(Array|Object $elementos, boolean $usar_claves = true, boolean $codificar = true, boolean $claves_como_strings = false) : String
Construye una lista con elementos separados por comas.
Los valores que sean arrays se traducen como objetos con listas de propiedades o como arrays, dependiendo que sean asociativos o indexados, respectivamente. En caso que estos subarrays estén vacíos, como no se puede determinar si se deben traducir como arrays u objetos, se dejan como null. Los valores que sean objetos se traducen como objetos.
Por ejemplo:
$elementos = array(
'visible' => true,
'alto' => 10,
'nombre' => 'o1',
'inicial' => array('color' => '#006', 'bg' => '#FFF'),
'validos' => array('S', 'N', 'D')
);
Javascript::construirLista($elementos, true, true)
== 'visible: true, alto: 10, nombre: "o1", inicial: { color: "#006", bg: "#FFF" }, validos: [ "S", "N", "D" ]';
Javascript::construirLista($elementos, false, true)
== 'true, 10, "o1", { color: "#006", bg: "#FFF" }, [ "S", "N", "D" ]';
Javascript::construirLista($elementos, true, true, true)
== '"visible": true, "alto": 10, "nombre": "o1", "inicial": { "color": "#006", "bg": "#FFF" }, "validos": [ "S", "N", "D" ]';
Array|Object | $elementos | elementos de la lista; deben ser pares nombre => valor si $usar_claves es true |
boolean | $usar_claves | ¿se deben incluir las claves de $elementos en la lista construida? Se construye: si es true, una lista de propiedades; si es false, una lista de valores |
boolean | $codificar | ¿se debe aplicar codificación a los valores de los elementos? |
boolean | $claves_como_strings | cuando se incluyen las claves en la lista construida ¿se deben emitir como strings (true), es decir, encerradas entre comillas, o como nombres de propiedades (false)? |
construirObjeto(Array|Object $propiedades, boolean $codificar = true, boolean $claves_como_strings = false) : String
Construye un objeto a partir de una lista de propiedades.
Los valores que sean arrays se traducen como objetos con listas de propiedades o como arrays, dependiendo que sean asociativos o indexados, respectivamente.
Por ejemplo:
$propiedades = array(
'visible' => true,
'alto' => 10,
'nombre' => 'o1',
'inicial' => array('color' => '#006', 'bg' => '#FFF'),
'validos' => array('S', 'N', 'D')
);
Javascript::construirObjeto($propiedades, true)
// == '{ visible: true, alto: 10, nombre: "o1", inicial: { color: "#006", bg: "#FFF" }, validos: [ "S", "N", "D" ] }';
Array|Object | $propiedades | lista de propiedades, como pares nombre => valor. |
boolean | $codificar | ¿se debe aplicar codificación a los valores de las propiedades? |
boolean | $claves_como_strings | las claves del objeto ¿se deben emitir como strings (true), es decir, encerradas entre comillas, o como nombres de propiedades (false)? |
construirArray(Array $elementos, boolean $codificar = true, boolean $claves_como_strings = false) : String
Construye un arreglo a partir de una lista de elementos.<br> Los valores que sean arrays se traducen como objetos con listas de propiedades o como arrays, dependiendo que sean asociativos o indexados, respectivamente.<br> Por ejemplo: <code> $elementos = array( 'elem1', 25, false, null, array('p', 's', 't'), array('v1' => 'c1', 'v2' => 2) ); Javascript::construirArray($elementos, true) == '[ "elem1", 25, false, null, [ "p", "s", "t" ], { v1: "c1", v2: 2 } ]'; </code>
Array | $elementos | elementos del arreglo a construir, dados como un arreglo con índices enteros |
boolean | $codificar | ¿se debe aplicar codificación a los elementos? |
boolean | $claves_como_strings | si hay valores que se traducen como objetos ¿las claves se deben emitir como strings (true), es decir, encerradas entre comillas,o como nombres de propiedades (false)? |