Maison  >  Article  >  développement back-end  >  PHP utilise ob_start() pour effacer la sortie et partager le code de sortie sélectif

PHP utilise ob_start() pour effacer la sortie et partager le code de sortie sélectif

php中世界最好的语言
php中世界最好的语言original
2018-05-19 14:43:55974parcourir

Cette fois, je partagerai avec vous le partage de code sur l'utilisation de ob_start() pour effacer la sortie et la sortie sélective en PHP. Quelles sont les précautions pour utiliser ob_start() pour effacer la sortie et la sortie sélective en PHP. . Ce qui suit est un cas pratique, jetons un coup d'œil.

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 string à 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. 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 afficher de contenu. ; , 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.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Analyse du framework CI (CodeIgniter) des étapes de fonctionnement de Redis

php implémente le binaire statistique 1 individuel Détaillé explication des étapes de l'algorithme mathématique

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