Con la función json_encode podemos convertir un objecto php (array multidimensional) en objecto javascript.
/* definición de objecto php */
$arrayPhp = array(
'key0' => array(
atributo1 => valor1,
atributo2 => valor2,
atributo3 => valor3
),
'key1' => array(
atributo1 => valor1,
atributo2 => valor2,
atributo3 => valor3
)
);
/* conversión de objeto php a json */
<?php $objJson = json_encode($arrayPhp); ?>
Ahora ya tenemos un objeto json que podemos inyectar en funciones javascript e inicializar nuestros objetos javascript.
/* inicialización de objectos javascript a través del objeto json */
<div data-ng-init='inicializarAngularJs($objJson)'></div>
/* Se supone un entorno que soporta angular en el html. La función inicializarAngularJS puede inicializar objectos de clase en angular
ejemplo.
*/
$scope.inicializarAngularJS = funcion(pObj){
$scope.dat.miObjetoAngular = pObj;
}
/*
Ahora miObjetoAngular estará inicializado con el contenido de $arrayPhp y podremos accder a propiedades como: $scope.dat.miObjetoAngular.key0.atributo1 cuyo contenido será valor1
*/
¡Importante! Cuida los detalles. La función inicializarAngularJS va entre comillas simples, debido a que la conversión del objeto json usa internamente comillas dobles y podemos tener problemas. El parámetro se pasa directamente sin entrecomillar.
Nota: Si usamos caracteres que pueden generar conflictos (comillas dobles que rompan la cadena de código...) debemos "limpiar" el contenido del objJson.
Para limpiar caracteres "problemáticos de codificar" podemos usar la función de reemplazo:
$pString = str_replace("'", '', $varALimpiar);
$varALimpiar = preg_replace('/[^a-zA-Z0-9\']/', ' ',$pString);
el contenido de $varALimpiar sería eliminando las comillas simples y todos los caracteres que no fuesen letras de la a-z mayusculas o minusculas y numeros.
Saludos!
miércoles, 3 de agosto de 2016
Suscribirse a:
Entradas (Atom)
Jesús Moreno - Ingeniero Ténico Informático - consultor Informático
Hola, soy Jesús Moreno Ingeniero Técnico Informático en sistemas por la US y propietario de éste blog. Mi trabajo en los ultimos años se ...
-
Ultima hora: Máxima difusión, aquí la sentencia del Tribunal Supremo sobre la Clausula Suelo . http://s01.s3c.es/imag/doc/ 2013-06-04/pg.4...
-
El ejemplo se ha probado en una base de datos Microsoft SQL Server 2008 R2 CREATE FUNCTION dbo . udf_GetNumeric (@ strAlphaNumeric VARCHA...
-
Al intentar compartir la impresora nos lanza un error que dice: " No se pudo guardar la configuración de la impresora. No hay no hay m...