PHP Capturer le tampon de sortie pour le réutiliser plus tard


Exemple

Dans cet exemple, nous avons un tableau contenant des données.

Nous capturons le tampon de sortie dans $items_li_html et l'utilisons deux fois dans la page.

<?php

// Start capturing the output
ob_start();

$items = ['Home', 'Blog', 'FAQ', 'Contact'];

foreach($items as $item):

// Note we're about to step "out of PHP land"
?>
  <li><?php echo $item ?></li>
<?php
// Back in PHP land
endforeach;

// $items_lists contains all the HTML captured by the output buffer
$items_li_html = ob_get_clean();
?>

<!-- Menu 1: We can now re-use that (multiple times if required) in our HTML. -->
<ul class="header-nav">
    <?php echo $items_li_html ?>
</ul>

<!-- Menu 2 -->
<ul class="footer-nav">
    <?php echo $items_li_html ?>
</ul>

Enregistrez le code ci-dessus dans un fichier output_buffer.php et exécutez-le via php output_buffer.php .

Vous devriez voir les 2 éléments de liste que nous avons créés ci-dessus avec les mêmes éléments de liste que nous avons générés en PHP en utilisant le tampon de sortie:

<!-- Menu 1: We can now re-use that (multiple times if required) in our HTML. -->
<ul class="header-nav">
  <li>Home</li>
  <li>Blog</li>
  <li>FAQ</li>
  <li>Contact</li>
</ul>

<!-- Menu 2 -->
<ul class="footer-nav">
  <li>Home</li>
  <li>Blog</li>
  <li>FAQ</li>
  <li>Contact</li>
</ul>