Maison  >  Article  >  développement back-end  >  Comment utiliser ob_start() en php pour effacer la sortie et la sortie sélective

Comment utiliser ob_start() en php pour effacer la sortie et la sortie sélective

不言
不言original
2018-06-19 09:32:242287parcourir

Ce qui suit 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.

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.

2. Utilisation de base du tampon

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

3. 🎜>

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 afficher de contenu, puis effacer le contenu dans le 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 faire d'autres tests.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Comment implémenter une URL longue et une URL courte PHP

Comment implémenter PHP en appelant le patch cloud interface réseau pour envoyer des SMS

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