Foros del Web » Programando para Internet » PHP »

problema al guardar sentencias o funciones en variable

Estas en el tema de problema al guardar sentencias o funciones en variable en el foro de PHP en Foros del Web. Tengo un problema, a ver si alguien me puede ayudar. El caso es que tengo una funcion para generar una web, y atraves de una ...
  #1 (permalink)  
Antiguo 04/01/2009, 11:21
 
Fecha de Ingreso: abril-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
problema al guardar sentencias o funciones en variable

Tengo un problema, a ver si alguien me puede ayudar.
El caso es que tengo una funcion para generar una web, y atraves de una variable le introduzco el contenido.

En la variable quiero poder introducir etiquetas html (ya que variara con cada pagina) y funciones include o requiere.

Os muestro un codigo simplicado para que lo veais

Código:
$homepage ->contenido = "echo 'muestra esto'; ";
Código:
public function Display()
{
	echo "<html><head>";
	...................
	echo'<div id="cuerpo">
	<div id="contenido">';
	$this->contenido; //variable para controlar el contenido
	echo '</div><div id="derecha"><br />
	.......
	echo '</div>
	</body></html>';

}
el caso es cuando lo veo en el navegador todo lo que ponga en la variable pada de ello, no hace caso.

Creo que el problema estará en que no ejecuta la sentencia 'echo' o cualquiera que le pongas.

Muchas gracias
  #2 (permalink)  
Antiguo 04/01/2009, 11:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema al guardar sentencias o funciones en variable

Cita:
[...] el problema estará en que no ejecuta la sentencia 'echo' o cualquiera que le pongas [...]
esto no funciona así... ya que es una cadena literal... (aunque parezca PHP dejo de serlo al ponerlo en un string)

Código:
$homepage ->contenido = "echo 'muestra esto'; ";
para evaluar como PHP debes usar eval() o bien, ¿porque no usas buffers??

Código PHP:
function Foo()
{
  
$out = eval($this->contenido);
  echo 
$out;
}

ob_start();

// ... includes, HTML, etc, etc....

$homepage->contenido ob_get_contents();
ob_end_clean(); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 04/01/2009, 11:38
 
Fecha de Ingreso: abril-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
Respuesta: problema al guardar sentencias o funciones en variable

Cita:
Iniciado por pateketrueke Ver Mensaje
o bien, ¿porque no usas buffers??]
Investigare lo de los buffers no se como funcionan. Muchas gracias
  #4 (permalink)  
Antiguo 04/01/2009, 12:01
 
Fecha de Ingreso: abril-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
Respuesta: problema al guardar sentencias o funciones en variable

No comprendo, usando buffers puedes cambiar el orden en que se van presentando las cosas, por lo que he leido, no entiendo donde encanjan los buffers en mi problema. Gracias
  #5 (permalink)  
Antiguo 04/01/2009, 12:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema al guardar sentencias o funciones en variable

no, no te confundas... no cambias el orden de nada con buffers... solo son eso, buffers.. -.-

vaya, es una técnica de "capturar la salida" de PHP, y luego almacenarla en variables... osea, de hecho, si encaja....

a que lo que planeas, es "pre cargar" PHP para que después se ejecute.... ¿cierto??

y si lo ejecutamos primero, guardamos en el buffer... listo, ¿porque no encaja según tu??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 04/01/2009, 13:56
 
Fecha de Ingreso: abril-2008
Mensajes: 30
Antigüedad: 16 años
Puntos: 0
Respuesta: problema al guardar sentencias o funciones en variable

Cita:
Iniciado por pateketrueke Ver Mensaje
no, no te confundas... no cambias el orden de nada con buffers... solo son eso, buffers.. -.-

vaya, es una técnica de "capturar la salida" de PHP, y luego almacenarla en variables... osea, de hecho, si encaja....

a que lo que planeas, es "pre cargar" PHP para que después se ejecute.... ¿cierto??

y si lo ejecutamos primero, guardamos en el buffer... listo, ¿porque no encaja según tu??
Tienes razón sirve, estuve ahora investigando sobre los controles de salida. De todas formas para mi caso particular la funcion eval() va de maravilla. Muchas gracias, a ver si mañana miro mas a fondo el tema del buffer
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:19.