Lorsque vous travaillez avec une sortie PHP complexe, telle que du XML généré dans des boucles while, il est souvent souhaitable de capturer cette sortie dans une variable pour éviter les traitements répétitifs et améliorer l’efficacité. En PHP, vous pouvez utiliser les fonctions ob_start() et ob_get_clean() pour y parvenir. Montrons comment :
Exemple :
Considérons le code suivant :
<code class="php">ob_start(); // Start buffering output ?> <xml> <morexml> <?php while ($condition) { ?> <somegeneratedxml> <?php } // End while loop ?> <lastofthexml> <?php ob_get_clean(); // End buffering and store output in $xml
La fonction ob_start() initialise la mise en mémoire tampon de sortie, garantissant que tous la sortie PHP ultérieure est capturée dans un tampon. Le code génère ensuite du XML à l'aide de boucles while et d'autres logiques PHP.
Dans les blocs ob_start() et ob_get_clean(), la variable $xml capture l'intégralité du XML généré. Par la suite, vous pouvez utiliser la variable n'importe où dans votre script, en vous assurant que le XML n'est généré qu'une seule fois.
Application pratique :
Dans votre scénario, vous souhaitez afficher XML aux utilisateurs dans un aperçu et transmettez-le comme valeur de formulaire. En utilisant les techniques ob_start() et ob_get_clean(), vous pouvez générer le XML une fois et le stocker dans la variable $xml. Ensuite, vous pouvez simplement l'imprimer à la fois dans l'aperçu et dans la valeur du formulaire, comme le montre l'extrait suivant :
<code class="php">echo "<pre class="brush:php;toolbar:false">$xml"; // Display XML in preview
<code class="php"><input value="<?php echo $xml; ?>" /> // Set form value to XML</code>
En suivant cette approche, vous améliorez les performances et la modularité de votre PHP. code en capturant et en réutilisant efficacement la sortie générée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!