Diese Bibliothek bietet sechs verschiedene Handler für die Umkehrung der Ausgabe der print_r -Funktion von PHP in Originalvariablen. Wenn kein Handler für einen Typ verfügbar ist, wird es als string zurückgegeben.
string zurückgegeben werden"" ) wird als null behandelt (siehe NullHandler )boolean Unterstützung)array muss durch Typkasten unterstützt werdenpublic , protected und private Eigenschaften von Objekten müssen durch Typkasten unterstützt werden Das Paket ist über Komponist erhältlich.
composer require simivar/reverse-print-r
<?php
$ print_r_output = print_r ([
' string ' => ' some text ' ,
' integer ' => 1 ,
' float ' => 2.3 ,
' subArray ' => [
' Hello World. ' ,
],
], true );
$ reverser = new ReversePrintR ReversePrintR ( $ print_r_output );
echo $ reverser -> reverse ()[ ' float ' ];
// outputs "2.3" Alle Handler sind als final definiert, aber dank der Abhängigkeitsinjektion ist es einfach, das Verhalten der Bibliothek und das Typen zu ändern. Nehmen wir an, Sie möchten alle leeren Saiten "" als String, nicht null halten. Alles, was Sie tun müssen, ist, Ihren eigenen HandlerRunner ohne NullHandler zu erstellen.
<?php
$ print_r_output = print_r ([
' string ' => '' ,
' null ' => null ,
], true );
$ handlerRunner = new ReversePrintR HandlerRunner (
new ReversePrintR Handler FloatHandler (),
new ReversePrintR Handler IntegerHandler (),
new ReversePrintR Handler ArrayHandler (),
new ReversePrintR Handler ObjectHandler ()
);
$ reverser = new ReversePrintR ReversePrintR ( $ print_r_output , $ handlerRunner );
var_dump ( $ reverser -> reverse ()[ ' null ' ]);
// outputs "" Auf die gleiche Weise wie entfernt NullHandler können Sie Ihre eigenen Handler hinzufügen. Alles, was Sie tun müssen, ist sicherzustellen, dass es ReversePrintRHandlerHandlerInterface implementiert, und Sie können loslegen.
Bibliothek folgt Semver. Alle Minor- und Patch -Updates sind rückwärts kompatibel.
Weitere Informationen finden Sie in der Lizenzdatei.