¿Cuál es el uso de ob_start() en php?

Resuelto Aditya Shukla asked hace 54 años • 10 respuestas

¿Se ob_start()utiliza para output bufferingque los encabezados se almacenen en el búfer y no se envíen al navegador? ¿Estoy teniendo sentido aquí? Si no, ¿por qué deberíamos utilizar ob_start()?

Aditya Shukla avatar Jan 01 '70 08:01 Aditya Shukla
Aceptado

Piense en ob_start()decir "Empiece a recordar todo lo que normalmente se generaría, pero no haga nada con ello todavía".

Por ejemplo:

ob_start();
echo("Hello there!"); //would normally get printed to the screen/output to browser
$output = ob_get_contents();
ob_end_clean();

Hay otras dos funciones con las que normalmente lo emparejas: ob_get_contents(), que básicamente te proporciona todo lo que se ha "guardado" en el búfer desde que se activó con ob_start(), y luego ob_end_clean()o ob_flush(), que deja de guardar cosas y descarta lo que se guardó, o deja de guardar. y lo genera todo a la vez, respectivamente.

Riley Dutton avatar Dec 09 '2010 18:12 Riley Dutton

Utilizo esto para poder salir de PHP con una gran cantidad de HTML pero no renderizarlo. Me evita tener que almacenarlo como una cadena que desactiva la codificación de colores IDE.

<?php
ob_start();
?>
<div>
    <span>text</span>
    <a href="#">link</a>
</div>
<?php
$content = ob_get_clean();
?>

En lugar de:

<?php
$content = '<div>
    <span>text</span>
    <a href="#">link</a>
</div>';
?>
JD Isaacks avatar Dec 09 '2010 19:12 JD Isaacks