In der PHP -Entwicklung spielt Output -Cache eine wichtige Rolle bei der Verbesserung der Leistung und zur Reduzierung des Serverdrucks. Insbesondere beim Debuggen von komplexen Ausgabe -Cache -Prozessen kann die Verwendung der Funktion OB_LIST_HANDLERS () Entwicklern dazu beitragen, den Status und die Operationen des Puffers schnell zu erfassen.
Die Ausgangspufferung ist eine wichtige Funktion in PHP, mit der die vom Skript generierten Ausgabeinhalte vorübergehend gespeichert und dann gleichzeitig ausgegeben werden können. Auf diese Weise kann der Ausgabeinhalt nicht im Voraus an den Browser gesendet werden, damit Entwickler den Ausgabeinhalt während der Ausführung des Skripts ändern oder bedienen können.
PHP bietet einige Funktionen zum Manipulieren von Ausgangspuffern. Zu den am häufigsten verwendeten gehören:
ob_start () : Einschalten der Ausgangspufferung ein
OB_END_FLUSH () : Schließen Sie die Pufferung und geben Sie den Inhalt aus
OB_Get_Contents () : Holen Sie sich den Inhalt des aktuellen Puffers
ob_clean () : Löschen Sie den Pufferinhalt
Die Funktion OB_List_handlers () ist eine Funktion, die von PHP bereitgestellt wird, um alle aktuellen Ausgangspufferhandler zu erhalten. Es gibt ein Array zurück, das alle im Ausgangspufferstapel registrierten Handler enthält. Durch diese Funktion können Entwickler die Reihenfolge des Aufrufens des aktuellen Cache -Handlers verstehen und somit beim Debuggen und Verwalten des Cache helfen.
Beim Debuggen des PHP -Ausgangs -Cache -Prozesses können Sie die Funktion OB_LIST_HANDLERS () helfen, den Status jedes Puffer und des registrierten Handlers zu verstehen. Schauen wir uns ein Beispiel mit OB_LIST_HANDLERS () an .
<?php
// Ausgangspufferung starten
ob_start();
// Registrieren Sie eine benutzerdefinierte Pufferfunktion
ob_start(function($buffer) {
return strtoupper($buffer); // Ausgang in Großbuchstaben konvertieren
});
// Drucken Sie den aktuellen Ausgangspufferhandler
echo "<pre>";
print_r(ob_list_handlers());
echo "</pre>";
// Einige Inhalte ausgeben
echo "hello, world!";
// Beenden und gepufferte Inhalte ausgeben
ob_end_flush();
?>
OB_START () : Der Ausgangspuffer wird gestartet und alle nachfolgenden Ausgänge werden im Puffer gespeichert.
ob_start (function ($ buffer) {...}) : Wir registrieren eine anonyme Funktion als Pufferhandler, die den Inhalt im Puffer in Großbuchstaben umwandelt.
OB_LIST_HANDLERS () : Durch diese Funktion können wir alle aktuellen Ausgabebufferhandler drucken. In diesem Beispiel gibt Ob_List_handlers () ein Array zurück, das den Pufferhandler enthält.
Echo -Ausgabeinhalt : Zu dieser Zeit "Hallo, Welt!" wird gepuffert und an den registrierten Handler weitergegeben, der ihn in Großbuchstaben umwandelt.
OB_END_FLUSH () : Schließen Sie den aktuellen Puffer und geben Sie den Inhalt in den Browser aus. Da wir einen Handler registriert haben, ist die endgültige Ausgabe "Hallo, Welt!" .
In komplexen PHP -Anwendungen können möglicherweise mehrere Stellen für die Ausgangspufferung verwendet werden. Zu diesem Zeitpunkt müssen wir den Handler und die Betriebsreihenfolge jedes Puffers genau verstehen. Mit OB_LIST_HANDLERS () können Sie helfen:
Registrierter Pufferhandler anzeigen : Ausgeben alle aktuell registrierten Pufferhandler, um nach unerwünschten Puffer oder Pufferbestellfehlern zu suchen.
Debuggen Sie den Inhalt und das Verhalten des Puffers : In Kombination mit OB_get_Contents () können Sie den Inhalt des aktuellen Puffer anzeigen, um sicherzustellen, dass die Ausgabe mit den Erwartungen übereinstimmt.
Reinigen Sie unnötige Puffer : Manchmal beeinflussen zusätzliche Puffer die Ausgabe, Sie können unerwünschte Puffer über OB_end_Clean () reinigen.
Angenommen, Sie entwickeln eine PHP -Anwendung mit komplexen Caching -Mechanismen wie einer dynamisch erzeugten API -Schnittstelle. Sie haben verschiedene Ausgangspufferungsprogramme für verschiedene Module implementiert. Wenn Sie OB_LIST_HANDLERS () aufrufen, können Sie den derzeit von jedem Modul verwendeten Pufferhandler deutlich sehen. Zum Beispiel:
<?php
// Registrieren Sie mehrere Pufferhandler
ob_start();
ob_start(function($buffer) {
return strtoupper($buffer);
});
ob_start(function($buffer) {
return strrev($buffer);
});
// Zeigen Sie den aktuellen Puffer -Handler an
print_r(ob_list_handlers()); // Ausgabe:['default', 'callback1', 'callback2']
?>
Auf diese Weise können Sie verstehen, wie viele Handler im aktuellen Ausgangs -Cache -Prozess registriert sind, und ihre Bestellung überprüfen, um sicherzustellen, dass sie wie erwartet ausgeführt werden.
Zusammenfassen
OB_LIST_HANDLERS () ist ein leistungsstarkes Tool zum Debuggen von Ausgabes -Cache in PHP. Dadurch können Sie den aktuellen Output -Puffer -Handler anzeigen, damit Sie den Cache -Prozess debuggen und optimieren können. Durch das Beherrschen und Nutzung dieser Funktion können Sie beim Umgang mit komplexen PHP -Ausgangs -Caches effizienter gestalten.
Das Folgende ist die Trennlinie des Artikelsinhalts: