Aktueller Standort: Startseite> Neueste Artikel> Zeigen und verwalten Sie mehrere Cache -Handler mit OB_LIST_HANDLERS an

Zeigen und verwalten Sie mehrere Cache -Handler mit OB_LIST_HANDLERS an

gitbox 2025-05-28

Mit der Funktion OB_LIST_HANDLERS können Sie in PHP den aktuell aktivierten Ausgabebuffer -Handler anzeigen. Die Ausgabepufferung ist eine Funktion in PHP, mit der Sie die Skriptausgabe im Speicher vorübergehend speichern können, anstatt sie sofort an den Browser zu senden. Auf diese Weise können Sie die Ausgabe verarbeiten oder ändern und darauf arbeiten, bevor sie schließlich an den Browser gesendet wird.

In diesem Artikel wird erläutert, wie die Funktion OB_LIST_HANTLERS verwendet, um mehrere Cache -Handler in PHP anzuzeigen und zu verwalten.

1. Übersicht über die Funktion OB_LIST_HANDLERS

Die Funktion OB_LIST_HANDLERS wird verwendet, um den aktuell aktiven Ausgangspuffer -Handler aufzulisten. Ausgabepufferhandler sind Funktionen, die festgelegt sind, wenn obs_start () aufgerufen wird, und sie werden ausgeführt, wenn der Puffer geschlossen ist.

Funktionssyntax:

 ob_list_handlers(): array

Diese Funktion gibt ein Array zurück, das alle Namen für registrierte Ausgabebuffer enthält.

2. So verwenden Sie OB_LIST_HANDLERS , um Pufferhandler anzuzeigen

Schauen wir uns zunächst ein einfaches Beispiel an, das zeigt, wie OB_LIST_HANDLERS verwendet, um alle derzeit aktivierten Ausgabepufferhandler anzuzeigen.

 <?php
// Ausgangspufferung starten
ob_start(function($buffer) {
    // Am Ende des Ausgangspuffer,Ändern Sie den Ausgabeinhalt
    return strtoupper($buffer);
});

// Einige Inhalte ausgeben
echo "Hello, World!";

// verwenden ob_list_handlers Alle Ausgangspufferhandler anzeigen
$handlers = ob_list_handlers();

// Liste der Ausgabehandler
print_r($handlers);
?>

Ausgabe:

 Array
(
    [0] => default output handler
    [1] => user-defined callback handler
)

In diesem Beispiel starten wir zuerst einen Puffer mit OB_Start und geben eine Rückruffunktion an, die alle Ausgaben in Großbuchstaben umwandelt. Als nächstes rufen wir Ob_List_handller an, um alle aktuell registrierten Pufferhandler anzuzeigen. Die endgültige Ausgabe zeigt den Standard -Handler und unsere benutzerdefinierte Rückruffunktion.

3. So verwalten Sie mehrere Pufferhandler

3.1 Schließen Sie ein Ausgangspufferungsprogramm

Wenn Sie keinen Ausgangspuffer -Handler mehr benötigen, können Sie OB_end_flush oder OB_END_CLEAN verwenden, um den aktuellen Puffer zu schließen.

  • OB_END_FLUSH () gibt den Inhalt im Puffer in den Browser aus und schließt den Puffer.

  • OB_END_CLEAN () legt den Inhalt im Puffer ab und schließt den Puffer.

Angenommen, wir haben mehrere Puffer gestartet und möchten den ersten Puffer schließen:

 <?php
// Starten Sie den ersten Puffer
ob_start(function($buffer) {
    return strtoupper($buffer);
});

// Starten Sie den zweiten Puffer
ob_start(function($buffer) {
    return strrev($buffer);
});

// Einige Inhalte ausgeben
echo "Hello, World!";

// verwenden ob_list_handlers Alle Ausgangspufferhandler anzeigen
$handlers = ob_list_handlers();
print_r($handlers);

// Schließen Sie den ersten Puffer und geben Sie das Ergebnis aus
ob_end_flush();  // Dies wird ausgeben "HELLO, WORLD!"

// verwenden ob_list_handlers Überprüfen Sie den Pufferhandler erneut
$handlers = ob_list_handlers();
print_r($handlers);
?>

Ausgabe:

 Array
(
    [0] => user-defined callback handler
    [1] => user-defined callback handler
)

HELLO, WORLD!
Array
(
    [0] => user-defined callback handler
)

In diesem Beispiel beginnen wir zuerst zwei Puffer. Durch Aufrufen von OB_END_FLUSH () wird der erste Puffer geschlossen und der Inhalt wird ausgegeben, und das Ergebnis zeigt, dass der zweite Puffer noch aktiv ist.

3.2 Alle Puffer löschen

Wenn Sie alle Puffer löschen und den Puffergehalt löschen möchten, können Sie OB_CLEAN () und OB_END_CLEAN () verwenden, um alle Puffer ohne Ausgabe zu reinigen.

 <?php
// Starten Sie den Puffer
ob_start();
echo "Hello, World!";

// Alle Puffer löschen
while (ob_get_level()) {
    ob_end_clean();
}

// Ausgeben die aktuelle Pufferliste
$handlers = ob_list_handlers();
print_r($handlers);  // Leere Arrays sollten angezeigt werden
?>

In diesem Beispiel werden alle Puffer aufgeräumt, sodass OB_List_handller ein leeres Array zurückgeben.

4. Verwenden Sie URL und Pufferung

Wenn Ihre PHP -Anwendung externe APIs oder Ressourcenladen (z. B. Daten über URLs abrufen) umfasst, können Sie auch die Ausgabepufferung verwenden, um diesen Inhalt zu erfassen und zu verarbeiten. Angenommen, Sie müssen Daten von einer URL über File_Get_Contents abrufen und in Ihrem Browser anzeigen:

 <?php
// Ausgangspufferung starten区
ob_start();

// Aus dem angegebenenURLInhalte bekommen
$content = file_get_contents('https://gitbox.net/api/data');

// Ausgabeinhalt
echo $content;

// Zeigen Sie den aktuellen Ausgangspuffer -Handler an
$handlers = ob_list_handlers();
print_r($handlers);

// Reinigen Sie den Puffer und geben Sie das Ergebnis aus
ob_end_flush();
?>

Ausgabe:

 Array
(
    [0] => default output handler
)

In diesem Beispiel erhalten wir den Inhalt auf Gitbox.net über File_Get_Contents auf, erfassen den Inhalt mithilfe des Ausgabebuffers und sehen den aktuellen Pufferhandler über OB_LIST_HANDLERS an.

5. Zusammenfassung

OB_LIST_HANDLERS ist ein sehr nützliches Tool, mit dem Entwickler mehrere Ausgangspufferungsprogramme anzeigen und verwaltet. Es bietet mehr Flexibilität für die PHP -Entwicklung, insbesondere bei der Verarbeitung von Ausgangsinhalten. In der Praxis können Sie den Ausgangsstrom optimieren, indem Sie die Ausgabebufferfunktionen kombinieren, die Reihenfolge steuern, in der der Inhalt angezeigt wird, oder das Format ändern, bevor der Inhalt an den Client weitergegeben wird.

Durch die korrekte Nutzung dieser Pufferfunktionen können PHP -Entwickler die Ausgabe in großen Anwendungen effizienter verarbeiten und Leistungs Engpässe vermeiden, insbesondere wenn externe Ressourcen wie API -Daten verarbeitet werden, die die Antwortgeschwindigkeit und die Benutzererfahrung der Programme verbessern können.