Maison >développement back-end >tutoriel php >PHP utilise ob_start() pour effacer la sortie et la sortie sélective
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 retourpour 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();
. 3. Test 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 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();
Résultat : 12
3,
//打开缓冲区 ob_start(); echo '1'; //清除缓冲区,此时不会输出1 ob_clean(); //输出缓冲区。但是因为上面已经清除过缓冲区了,所以不会输出 1 ob_end_flush(); echo '2';
Résultat : 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(); 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!