Maison  >  Article  >  développement back-end  >  PHP utilise ob_start() pour expliquer la méthode d'effacement de la sortie et la sortie sélective

PHP utilise ob_start() pour expliquer la méthode d'effacement de la sortie et la sortie sélective

jacklove
jackloveoriginal
2018-06-30 17:44:091589parcourir

L'éditeur ci-dessous partagera avec vous un article sur la façon d'utiliser 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 et jetons un coup d'œil

1.Contexte

Il y a un morceau de code, car la méthode encapsulée est appelée, donc il y en aura. La valeur de retour n'est pas nécessaire. 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, vous pouvez utiliser 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

Utilisation de base du tampon

.

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

3. Tests de base

1. >

echo '1';
ob_start();
echo '2';
ob_clean();

Résultat : 1

Explication : Il s'agit de l'utilisation la plus simple, c'est-à-dire ajouter ob_start à l'extérieur qui ne veut pas sortir content ();, 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();

Résultats : 12

3,

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

Résultats : 2

4,

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

Résultat : 2 1

Explication : ob_get_contents(); 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 statiquer les pages. Elle joue un rôle clé dans la construction d'un framework micro web. La page rendue est directement écrite dans un fichier via le cache d'entrée. De cette manière, il est possible de déterminer si le fichier existe pour déterminer si l'utilisateur doit restituer une page lors de cette visite. Cela peut également être appliqué à de grands projets. et utilisez nosql pour la stocker. L'utilisation spécifique de la page rendue varie d'une personne à l'autre, cela dépend de celle que vous aimez

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.

Articles qui pourraient vous intéresser :

Explication de comment fusionner deux listes chaînées triées en PHP


Explication sur la classe d'opération en mode singleton mongoDB implémentée par PHP


Explication détaillée de la méthode de fonctionnement de la base de données mongoDB avec tp5 (thinkPHP5)


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!

Déclaration:
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