Эта библиотека предоставляет шесть различных обработчиков для обращения вывода функции PHP print_r обратно к исходным переменным. Если нет обработчика для типа, он возвращается как string .
string"" ) рассматривается как null (см. NullHandler )boolean поддержки)array должен быть поддержан с помощью типаpublic , protected и private недвижимость объектов должна быть поддержана с помощью типа Пакет доступен через композитор.
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" Все обработчики определяются как final , но благодаря инъекции зависимостей легко изменить поведение библиотеки и его кастеристи. Допустим, вы хотите сохранить все пустые струны "" как строка, а не null . Все, что вам нужно сделать, это создать свой собственный HandlerRunner без 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 "" Точно так же, как удалить NullHandler , вы можете добавить свои собственные обработчики. Все, что вам нужно сделать, это убедиться, что он реализует ReversePrintRHandlerHandlerInterface , и вы готовы идти.
Библиотека следует за SEMVER. Все незначительные обновления и обновления патчей обратно совместимы.
Пожалуйста, смотрите файл лицензии для получения дополнительной информации.