Heim  >  Artikel  >  Backend-Entwicklung  >  PHP verwendet ob_start() zum Löschen der Ausgabe und zur selektiven Ausgabe

PHP verwendet ob_start() zum Löschen der Ausgabe und zur selektiven Ausgabe

小云云
小云云Original
2018-01-19 09:37:22953Durchsuche

Dieser Artikel teilt Ihnen hauptsächlich eine Methode zur Verwendung von ob_start() in PHP zum Löschen der Ausgabe und zur selektiven Ausgabe mit. Es hat einen guten Referenzwert und ich hoffe, dass es für alle hilfreich sein wird. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.

1. Hintergrund

Es gibt einen Code, der einige unnötige Rückgabewerte hat, weil er eine gekapselte Methode aufruft. Wie man mit diesen Rückgabewerten umgeht, um sie verschwinden zu lassen. Manche Leute werden sagen: Wäre es nicht besser, die Variablen zu löschen? Was aber, wenn dieser Rückgabewert nicht gelöscht werden kann?

2. ob_start()

1. Konzept:

Diese Funktion öffnet den Ausgabepuffer. Wenn die Ausgabepufferung aktiviert ist, gibt das Skript keine Inhalte aus (außer http-Header), sondern der auszugebende Inhalt wird in einem internen Puffer gespeichert.

Der Inhalt des internen Puffers kann mit der Funktion ob_get_contents() in eine String-Variable kopiert werden. Um den im internen Puffer gespeicherten Inhalt auszugeben, verwenden Sie die Funktion ob_end_flush(). Darüber hinaus wird durch die Verwendung der Funktion ob_end_clean() der Inhalt des Puffers stillschweigend verworfen.

Aus dem PHP-Handbuch: http://php.net/manual/zh/function.ob-start.php

2. Grundlegende Verwendung des Puffers

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

3. Basistest

1.

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

Ergebnis: 1

Erklärung: Dies ist die einfachste Verwendung, d. h. externe Inhalte hinzufügen, die nicht angezeigt werden sollen Ausgabe. Gehen Sie zu ob_start(); und löschen Sie dann den Inhalt des Puffers, um so unser Verwendungsszenario zu realisieren. Wir können selektiv ausgeben, was wir ausgeben möchten. Befreien Sie sich von dem, was Sie nicht ausgeben möchten.

2,

echo '1';
ob_start();
echo '2';
//输出缓冲区
ob_end_flush();

Ergebnis: 12

3,

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

Ergebnis: 2

4,

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

Ergebnis: 2 1

Erläuterung: Die Funktion ob_get_contents(); dient dazu, den Inhalt des Puffers abzurufen. Wir können den erhaltenen Inhalt einer Variablen zuweisen, sodass wir auch dann normal 1 ausgeben können, wenn der Puffer geleert wird und wir die Variable ausgeben.

4. Häufig verwendete Orte

Diese Funktion wird häufig zur Seitenstatik verwendet. Sie spielt eine Schlüsselrolle beim Aufbau eines Mikro-Web-Frameworks. Die gerenderte Seite wird direkt über den Eingabecache geschrieben. Auf diese Weise kann festgestellt werden, ob die Datei während dieses Besuchs erneut gerendert werden muss. NoSQL wird auch zum Speichern der gerenderten Seite verwendet Die Verwendungsmethode variiert von Person zu Person, je nachdem, was Sie bevorzugen.

Das Obige ist ein einfacher Test, den ich selbst durchgeführt habe. Bei Bedarf können Sie im PHP-Handbuch nachschlagen und weitere Tests durchführen.

Verwandte Empfehlungen:

Kann die ob_end_flush()-Methode in PHP ohne ob_start() verwendet werden?

php Detaillierte Erklärung, wie Funktion ob_start() steuert den Browser-Cache

Verwenden Sie ob_start() von PHP, um Ihren Browser-Cache zu steuern_PHP-Tutorial

Das obige ist der detaillierte Inhalt vonPHP verwendet ob_start() zum Löschen der Ausgabe und zur selektiven Ausgabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn