Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Problema con Arrays en TWIG (PHP)

Estas en el tema de Problema con Arrays en TWIG (PHP) en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenos días, Hola, Acabo de terminar una web basada en PHP en la que utilizo twig como motor de plantillas. Todo funciona correctamente a excepción ...
  #1 (permalink)  
Antiguo 21/10/2013, 01:44
 
Fecha de Ingreso: febrero-2008
Mensajes: 31
Antigüedad: 16 años, 2 meses
Puntos: 0
Exclamación Problema con Arrays en TWIG (PHP)

Buenos días,

Hola,

Acabo de terminar una web basada en PHP en la que utilizo twig como motor de plantillas. Todo funciona correctamente a excepción del comportamiento de los arrays. En mi servidor local son iterables y las recorre sin problema. En el servidor web, con el mismo código, dice que no son iterables.

¿Alguien sabe por qué puede estar pasando esto?

El código es el siguiente:

{% if datos is defined %}

{% if datos is iterable %}

{% for dato in datos %}

{{ ... }}

{% endfor %}

{% endif %}

{% endif %}

Insisto. En local me funciona perfectamente y muestra el contenido de "datos". En el servidor web me dice que datos no es iterable.

Pido disculpas si no he preguntado en el hilo adecuado pero no he encontrado ninguno específico para TWIG. Si es el caso, movedlo donde corresponda.

Gracias
  #2 (permalink)  
Antiguo 21/10/2013, 02:28
 
Fecha de Ingreso: febrero-2008
Mensajes: 31
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Problema con Arrays en TWIG (PHP)

Me contesto a mi mismo porque he dado con la causa del problema.

Le estaba pasando a la plantilla un objeto mysqli con los datos. Por el motivo que sea, la plantilla no sabe interpretar el objeto mysqli y por tanto no puede recorrer el array y mostrar los datos.
He preguntado al hosting pero por el momento no me han contestado.

A voz de pronto, la solución rústica que se me ocurre es convertir el objeto mysqli en un array asociativo manualmente tras realizar cada consulta.
Voy a investigar más a ver si se puede resolver de una forma más o menos elegante.

Un saludo
  #3 (permalink)  
Antiguo 21/10/2013, 03:44
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Problema con Arrays en TWIG (PHP)

Dudo que sea algo de Twig, lo que llega al template no es iterable, el problema ocurre antes, te sugiero que debuges y compruebes que le estas pasando realmente al template y bueno, lo rustico es pasar la instancia de mysqli al template..., deberías(como comentas) al menos transformarlo en un iterable.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #4 (permalink)  
Antiguo 21/10/2013, 08:54
 
Fecha de Ingreso: febrero-2008
Mensajes: 31
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Problema con Arrays en TWIG (PHP)

Hola masterpuppet,

Dándole vueltas y vueltas y probando cosas, al final se ha solucionado modificando la versión de PHP del hosting. He pasado de la 5.3 a la 5.4 y ... listo!
Es que me resistía a tener que transformar cada objeto mysqli en un array asociativo antes de pasárselo a la plantilla. Menos mal.

Como intuía, no era un tema de twig porque funcionaba correctamente en local.

Gracias.

Etiquetas: php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:04.