In der PHP -Entwicklung ist die Ausgangspufferung eine gemeinsame Technik, mit der ein Programm beim Ausführen zuerst den Ausgangsinhalt im Puffer speichern kann, anstatt es direkt an den Browser zu senden. Dies kann den Entwicklern helfen, den Zeitpunkt der Ausgabe zu steuern oder den Ausgangsinhalt zu ändern. Die Funktion ob_end_clean () ist eine wichtige Funktion, die eng mit diesem Puffermechanismus zusammenhängt. Es ermöglicht den Entwicklern, den Inhalt des Puffers vollständig zu löschen, ohne ihn an den Browser auszugeben.
In PHP wird der Ausgangspuffer verwendet, um alle Ausgabeinhalte (z. B. HTML, Text oder eine andere Ausgabe) vorübergehend zu speichern, die vom Skript generiert werden. Durch das Einschalten des Puffers kann der Ausgangsinhalt vorgearbeitet werden (z. B. Änderung, Löschen oder Komprimieren) und entscheiden, wann sie an den Client gesendet werden sollen, bevor das Skript ausgeführt wird.
Die Funktion OB_END_CLEAN () wird verwendet, um den aktuell aktiven Ausgangspuffer zu schließen und den Inhalt in diesem Puffer zu löschen, anstatt sie an den Browser auszugeben. Dies bedeutet, dass bei Verwendung dieser Funktion alles im Puffer verworfen und nicht an den Client gesendet wird.
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">ob_end_clean</span></span><span> ( </span><span><span class="hljs-keyword">void</span></span><span> )
</span></span>
Rückgabewert : Return true , wenn er erfolgreich ist; Rückgeben Sie False , wenn der Ausgangspuffer nicht aktiviert ist oder ein Fehler auftritt.
Bevor Sie OB_END_CLEAN () verwenden, müssen Sie zunächst den Ausgangspuffer einschalten. Der Puffer kann mit der Funktion ob_start () gestartet werden. Normalerweise akkumuliert der Ausgabepuffer die gesamte Ausgabe während der Skriptausführung, bis das Skript ausgeführt wird und obs_end_clean () aufgerufen wird, um den Pufferinhalt zu löschen.
Hier ist ein einfaches Beispiel für die Nutzung:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Starten Sie den Ausgangspuffer</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ob_start</span></span><span>();
</span><span><span class="hljs-comment">// Fügen Sie dem Puffer Inhalte hinzu</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Hello, this content is in the buffer"</span></span><span>;
</span><span><span class="hljs-comment">// Löschen und schließen Sie den Puffer</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ob_end_clean</span></span><span>();
</span><span><span class="hljs-comment">// Es wird zu diesem Zeitpunkt nicht angezeigt "Hello, this content is in the buffer"</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Buffer is now cleared"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Im obigen Code startet Ob_Start () den Ausgabebuffer und schreibt dann etwas in den Puffer. Dann wird OB_END_CLEAN () aufgerufen, um den Inhalt im Puffer zu löschen, und schließlich werden diese Inhalte nicht an den Browser ausgegeben.
Vermeiden Sie unnötige Ausgabe : In einigen Fällen möchten Sie möglicherweise einen Code ausführen, möchten das Ergebnis jedoch nicht sofort an den Browser ausgeben. Durch die Pufferung der Ausgabe und die Verwendung von OB_END_CLEAN () können Sie nicht vermeiden, unnötigen Inhalte an den Browser zu senden.
Ändern Sie den Ausgabeinhalt : Durch das Speichern des Ausgabeinhalts in einem Puffer können Programmierer diese verarbeiten, bevor sie an den Browser ausgeben. Durch die Verwendung von OB_end_Clean () wird sichergestellt, dass der Pufferinhalt vollständig gelöscht wird und Inhaltsverlauf vermeidet.
Reinigen Sie die Ausgabe während des Debuggens : Während des Debuggens können Debug -Informationen mehrfach ausgegeben werden, was die endgültige Benutzeroberfläche beeinträchtigen kann. Die Verwendung von Puffern und das Löschen stellt sicher, dass Debug -Informationen nicht an den Browser gesendet werden.
Der Puffer muss aktiviert sein : Es muss ein aktivierter Ausgangspuffer vorhanden sein, bevor er ob_end_clean () aufgerufen wird. Wenn diese Funktion aufgerufen wird, ohne dass der Puffer eingeschaltet wird, wird eine Warnung verursacht.
Unterschiede mit OB_end_flush () : OB_end_flush () ist dem ob_end_clean () sehr ähnlich. Der einzige Unterschied besteht darin, dass OB_END_FLUSH () den Inhalt im Puffer zum Browser ausgibt, während OB_END_CLEAN () den Inhalt des Puffers löscht und nicht ausgibt.
ob_end_clean () ist eine sehr nützliche Funktion, mit der Entwickler die Ausgangspuffer von PHP effektiv verwalten und steuern können. Mit dieser Funktion können Entwickler vermeiden, redundante Inhalte auszugeben, die Ladegeschwindigkeit der Seite zu optimieren oder komplexere Ausgangssteuerungen zu implementieren. Das Verständnis und Beherrschen der Verwendung von Ausgabepuffern ist einer der wichtigsten Schritte für jeden PHP -Entwickler, um die Codequalität und -leistung zu verbessern.