Cette bibliothèque fournit six gestionnaires différents pour inverser la sortie de la fonction PHP print_r à des variables originales. S'il n'y a pas de gestionnaire disponible pour un type, il est renvoyé sous forme string .
string"" ) est traité comme null (voir NullHandler )boolean )array à plusieurs niveaux doit être pris en charge avec le casting de typepublic , protected et private des objets doivent être prises en charge avec le casting de type Le package est disponible via le compositeur.
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" Tous les gestionnaires sont définis comme final , mais grâce à l'injection de dépendance, il est facile de modifier le comportement de la bibliothèque et de la casting de type. Disons que vous voulez garder toutes les chaînes vides "" comme chaîne, pas null . Tout ce que vous avez à faire est de créer votre propre HandlerRunner sans NullHandler .
<?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 "" De la même manière de supprimer NullHandler , vous pouvez ajouter vos propres gestionnaires. Tout ce que vous avez à faire est de vous assurer qu'il implémente ReversePrintRHandlerHandlerInterface et que vous êtes prêt à partir.
La bibliothèque suit Semver. Toutes les mises à jour mineures et patchs sont compatibles vers l'arrière.
Veuillez consulter le fichier de licence pour plus d'informations.