Foros del Web » Programando para Internet » PHP »

Uso de ob_start()

Estas en el tema de Uso de ob_start() en el foro de PHP en Foros del Web. Hola a todos, Estoy haciendo un sistema de templates en el que uso ob_start();... Mas o menos de este modo: El contenido: Código PHP: ob_start ...
  #1 (permalink)  
Antiguo 23/01/2011, 12:07
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Uso de ob_start()

Hola a todos,

Estoy haciendo un sistema de templates en el que uso ob_start();... Mas o menos de este modo:

El contenido:
Código PHP:
ob_start();
echo 
'esto es el contenido...';
$content ob_get_contents();
ob_end_clean(); 
Y el template
Código HTML:
<html>
<body><div class="content"><?php echo $content; ?></div></body>
</html> 
Esto funciona super bien... y es un gusto de lo facil que es... mi pregunta es... ¿Esto supone mucho para servidor... es decir... ralentiza el codigo o algo?... tiene alguna pega?

  #2 (permalink)  
Antiguo 23/01/2011, 12:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Uso de ob_start()

no, nada... esta bien lo que haces, piensa, si fuera mucho para el servidor entonces nadie lo usaría... ¿cierto?

de paso lee el manual, de algo te servirá...
http://php.net/ob_start
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/01/2011, 14:06
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Uso de ob_start()

Ok!...

La verdad es que menuda funcion mas increible si sabes sacarle jugo... a mi me esta cambiando la forma de programar del todo.

Gracias... por la ayuda.
  #4 (permalink)  
Antiguo 12/04/2011, 09:43
 
Fecha de Ingreso: diciembre-2003
Mensajes: 82
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Uso de ob_start()

Tengo problemas con esta esta función espero me puedan ayudar:

Código PHP:
$contenidoA = ;;
$contenidoB = ;;


$contenidoA archivo('mi_archivo.php');
$contenidoB archivo('mi_archivo.php');


funcion archivo($Incluir)
{
ob_start();
require_once(
'$Incluir');
$content ob_get_contents();
ob_end_clean(); 

return 
$content;
}


echo 
$contenidoA;
echo 
$contenidoB
Si incluyo el mismo archivo en diferente variable como es el caso en contenidoA y contenidoB el buffer solo se almacena en la primer variable osea $contenidoA pero no en la varible $contenidoB unicamente si utilizo 2 archivos distintos si funciona, como puedo resolver este problema ya que necesito incluir algunas veces el mismo archivo en distintas varibles.

Gracias.
  #5 (permalink)  
Antiguo 13/04/2011, 07:29
 
Fecha de Ingreso: diciembre-2003
Mensajes: 82
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Uso de ob_start()

He intentado varias formas utilizando los diferente ob clear y flush, pero siempre obtengo el mismo resultado, alguien sabe como podría hacer para meter el mismo buffer del archivo en diferentes variables, lo he estructurado de otra forma y funciona pero me gustaría saber si se hay alguna manera de hacerlo de la forma que lo expongo en el mensaje anterior.


Muchas gracias.
  #6 (permalink)  
Antiguo 14/04/2011, 15:25
 
Fecha de Ingreso: diciembre-2003
Mensajes: 82
Antigüedad: 20 años, 4 meses
Puntos: 1
Respuesta: Uso de ob_start()

Perdon tengo mala la funcion la escribi mal esta es la buena:


Código PHP:
$contenidoA = ;;
$contenidoB = ;;


$contenidoA archivo('mi_archivo.php');
$contenidoB archivo('mi_archivo.php');


funcion archivo($Incluir)
{
ob_start();
include 
'$Incluir';
$content ob_get_contents();
ob_end_clean(); 

return 
$content;
}


echo 
$contenidoA;
echo 
$contenidoB

Pero el problema que tengo es que no puedo incluir el mismo archivo 2 veces, entiendo que si utilizas include_once de ese problema pero solo utilizo unicamente el include pero no me incluye la misma informacion mas de una vez, por ejemplo:


en mi mi_archivo.php tengo el codigo <? echo 'hola mundo'; ?>



si hago esto:

include mi_archivo.php;
include mi_archivo.php;
include mi_archivo.php;

deveria de imprimier en pantalla 3 veces hola mundo cierto?



pero unicamente me imprime una ves 'hola mundo'.


Si me equivoco por favor les agradeceria me corrijan ya que no me había topado con este problema en php, y si es correcto el codigo cual podría ser el problema ya que he probado de varias formas y siempre el mismo resultado.

Muchas gracias por su ayuda.

Etiquetas: Ninguno
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 22:03.