Esta biblioteca fornece seis manipuladores diferentes para reverter a saída da função print_r do PHP de volta às variáveis originais. Se não houver manipulador disponível para um tipo, ele será retornado como string .
string"" ) é tratada como null (ver NullHandler )boolean )array de vários níveis deve ser suportada com o tipo de gênero de tipopublic , protected e private de objetos devem ser suportadas com a casal de tipo O pacote está disponível via compositor.
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" Todos os manipuladores são definidos como final , mas, graças à injeção de dependência, é fácil alterar o comportamento da biblioteca e é de tipo de tipo. Digamos que você queira manter todas as cordas vazias "" como corda, não null . Tudo o que você precisa fazer é criar seu próprio HandlerRunner sem 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 "" A mesma maneira de remover NullHandler , você pode adicionar seus próprios manipuladores. Tudo o que você precisa fazer é garantir que ele implemente ReversePrintRHandlerHandlerInterface e você esteja pronto.
A biblioteca está seguindo o semver. Todas as atualizações de pequenas e patches são compatíveis com versões anteriores.
Consulte o arquivo de licença para obter mais informações.