In der PHP -Entwicklung begegnen wir häufig auf den Mechanismus der Ausgangspufferung. PHP bietet mehrere Funktionen, um die Ausgangspufferung zu verarbeiten. Eine der wichtigen Funktionen ist ob_list_handllers () . Diese Funktion kann verwendet werden, um eine Liste der derzeit aktiven Ausgangspufferhandler zurückzugeben. Es wird normalerweise zum Debuggen oder Verwalten von Output -Pufferationsvorgängen verwendet.
OB_LIST_HANDLERS () ist eine integrierte PHP-Funktion, die ein Array zurückgibt, das die Namen aller derzeit registrierten Ausgabepufferhandler enthält. Ein Ausgangspufferhandler ist eine Möglichkeit, Daten in einem Puffer zu verarbeiten, bevor er an den Browser gesendet wird.
Die grundlegende Syntax dieser Funktion lautet wie folgt:
array ob_list_handlers();
Der Rückgabewert der Funktion OB_List_handlers () ist ein Indexarray. Jedes Element ist eine Zeichenfolge, die einen registrierten Ausgangspufferhandler darstellt. Insbesondere ist jeder Handler ein Funktionsname oder eine Klassenmethode, mit der Daten im Ausgabepuffer verarbeitet werden.
Zum Beispiel:
ob_start(); // Ausgangspufferung einschalten
ob_start("ob_gzhandler"); // Registrieren Sie einen Handler
ob_start("ob_bzhandler"); // Registrieren Sie einen weiteren Handler
$handlers = ob_list_handlers();
print_r($handlers);
Der obige Code gibt etwas ähnlich wie folgt aus:
Array
(
[0] => ob_bzhandler
[1] => ob_gzhandler
)
Die Ausgabe hier zeigt, dass es derzeit zwei Handler gibt: OB_BZHandler und OB_GZHandler , die die Komprimierung von BZIP2 bzw. GZIP verarbeiten.
Um zu verstehen, wie der Rückgabewert von OB_List_handlers () analysiert wird, müssen wir das Rückgabedatenformat verstehen. Jedes Element im zurückgegebenen Array repräsentiert einen verwendeten Ausgangspufferhandler, der in Registrierungsreihenfolge angeordnet ist. Daher können Sie registrierte Handler direkt basierend auf dem Index des Arrays anzeigen.
Wenn Sie beispielsweise den ersten registrierten Ausgangspufferhandler kennen möchten, können Sie auf das erste Element im Array zugreifen:
$handlers = ob_list_handlers();
echo $handlers[0]; // Den Namen des ersten registrierten Handlers ausgeben
In praktischen Anwendungen wird OB_LIST_HANDLERS () häufig zum Debuggen und Verwalten mehrerer Ausgangspufferungsprogramme verwendet. Wenn Sie beispielsweise mehrere Handler mit Ausgabebuffer haben, möchten Sie sich möglicherweise die aktuell verwendeten Handler ansehen, um sicherzustellen, dass sie in der richtigen Reihenfolge ausgeführt werden. Sie können die aktuelle Liste der Handler über die Funktion OB_List_handlers () erhalten und nach Bedarf löschen oder ändern.
$handlers = ob_list_handlers();
if (in_array("ob_gzhandler", $handlers)) {
// Wenn registriertGzipKompressionshandler,Kann nach Bedarf entfernt oder geändert werden
ob_end_clean(); // Löschen Sie den aktuellen Puffer
}
OB_LIST_HANDLERS () ist ein sehr nützliches Instrument zum Auflisten der aktuell registrierten Ausgabebufferhandler. Sein Rückgabewert ist ein Array, und jedes Element ist der Name eines Handlers. Diese Funktion ermöglicht es Entwicklern, das Verhalten der Ausgangspufferung einfach anzusehen und zu verwalten, um sicherzustellen, dass das Programm wie erwartet ausgeführt wird.