\Javascript

Provee métodos para construir código Javascript.

Summary

Methods
Properties
Constants
codificarString()
codificarValor()
codificarValores()
construirLista()
construirObjeto()
construirArray()
No public properties found
PREF_LITERAL
TIPO_MIME
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Constants

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.

TIPO_MIME

TIPO_MIME

Tipo MIME correspondiente a javascript.

Methods

codificarString()

codificarString(String  $string, boolean  $comillas_dobles = true) : String

Codifica <var>$string</var> como un string javascript.

Parameters

String $string
boolean $comillas_dobles

¿el string se debe encerrar entre comillas dobles (true) o simples (false)?

Returns

String —

$string encerrado entre comillas y con los caracteres escapados correctamente; si $string tiene el prefijo Javascript::PREF_LITERAL, devuelve $string sin el prefijo

codificarValor()

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>

Parameters

mixed $valor

el valor a codificar

boolean $conservar_invalido

¿un valor inválido (no escalar) debe retornarse intacto o como null?

Returns

String —

el valor codificado

codificarValores()

codificarValores(Array  $array, boolean  $conservar_invalidos = false) : Array

Codifica todos los valores en <var>$array</var> usando {@link Javascript::codificarValor()}.

Parameters

Array $array
boolean $conservar_invalidos

¿los valores inválidos (no escalares) deben conservarse intactos o como null?

Returns

Array —

el array con los valores codificados

construirLista()

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" ]';

Parameters

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)?

Returns

String

construirObjeto()

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" ] }';

Parameters

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)?

Returns

String

construirArray()

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>

Parameters

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)?

Returns

String