PHP utilise ob_start() pour effacer la sortie et la sortie sélective

小云云
Libérer: 2023-03-19 15:16:01
original
970 Les gens l'ont consulté

Cet article partage principalement avec vous une méthode d'utilisation de ob_start() en PHP pour effacer la sortie et la sortie sélective. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Suivons l'éditeur pour y jeter un œil, j'espère que cela pourra aider tout le monde.

1. Contexte

Il existe un morceau de code qui a des valeurs de retour inutiles car il appelle une méthode encapsulée. Comment gérer ces valeurs de retour​​pour les faire disparaître. Certains diront : ne vaudrait-il pas mieux effacer les variables ? Mais que se passe-t-il si cette valeur de retour ne peut pas être effacée ?

2. ob_start()

1. Concept :

Cette fonction ouvrira le tampon de sortie. Lorsque la mise en mémoire tampon de sortie est activée, le script n'affichera pas de contenu (sauf les en-têtes http), mais le contenu à afficher est stocké dans un tampon interne.

Le contenu du tampon interne peut être copié dans une variable chaîne à l'aide de la fonction ob_get_contents(). Pour afficher le contenu stocké dans le tampon interne, utilisez la fonction ob_end_flush(). De plus, l'utilisation de la fonction ob_end_clean() supprimera silencieusement le contenu du tampon.

Depuis le manuel php : http://php.net/manual/zh/function.ob-start.php

2 Utilisation de base du tampon

//打开缓冲区
ob_start();
//清除缓冲区中的内容
ob_clean();
//冲刷出(送出)输出缓冲区内容并关闭缓冲
ob_end_flush();
Copier après la connexion

. 3. Test de base

1.

echo '1';
ob_start();
echo '2';
ob_clean();
Copier après la connexion

Résultat : 1

Explication : Il s'agit de l'utilisation la plus simple, c'est-à-dire ajouter du contenu externe qui ne veut pas être sortie. Accédez à ob_start();, puis effacez le contenu du tampon, réalisant ainsi notre scénario d'utilisation. Nous pouvons produire de manière sélective ce que nous voulons produire. Débarrassez-vous de ce que vous ne souhaitez pas afficher.

2,

echo '1';
ob_start();
echo '2';
//输出缓冲区
ob_end_flush();
Copier après la connexion

Résultat : 12

3,

//打开缓冲区
ob_start();
echo '1';
//清除缓冲区,此时不会输出1
ob_clean();
//输出缓冲区。但是因为上面已经清除过缓冲区了,所以不会输出 1
ob_end_flush();
echo '2';
Copier après la connexion

Résultat : 2

4,

ob_start(); //打开缓冲区
echo '1'; 
$a = ob_get_contents(); //输出缓冲区内容到$a,相当于赋值给$a
ob_clean();   //这里清除缓冲区内容
echo '2';    //输出2
echo $a;    //输出$a
Copier après la connexion

Résultat : 2 1

Explication : ob_get_contents(); voici pour obtenir le contenu du tampon. Nous pouvons attribuer le contenu obtenu à une variable, de sorte que même si le tampon est vidé et que nous sortons la variable, nous pouvons toujours sortir 1 normalement.

4. Lieux couramment utilisés

Cette fonction est couramment utilisée pour la statique de page. Elle joue un rôle clé dans la construction d'un framework micro-web. La page rendue est écrite directement via le cache d'entrée. dans un fichier. De cette façon, il peut être déterminé si le fichier existe ou non. Le fait que l'utilisateur ait besoin de restituer une page lors de cette visite peut également être appliqué aux grands projets. la méthode d’utilisation varie d’une personne à l’autre, selon votre préférence.

Ce qui précède est un test simple que j'ai fait moi-même. Si nécessaire, vous pouvez vous référer au manuel PHP et faire plus de tests.

Recommandations associées :

La méthode ob_end_flush() en PHP peut-elle être utilisée sans ob_start() ?

php Explication détaillée de la façon dont la fonction ob_start() contrôle le cache du navigateur

Utilisez ob_start() de PHP pour contrôler le cache de votre navigateur_PHP tutoriel

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!