Perpustakaan ini menyediakan enam penangan yang berbeda untuk membalikkan output fungsi print_r PHP kembali ke variabel asli. Jika tidak ada pawang yang tersedia untuk jenis itu dikembalikan sebagai string .
string"" ) diperlakukan sebagai null (lihat NullHandler )boolean )array multi-level harus didukung dengan tipe-castingpublic , protected , dan private harus didukung dengan tipe-casting Paket tersedia melalui komposer.
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" Semua penangan didefinisikan sebagai final , tetapi berkat suntikan ketergantungan, mudah untuk mengubah perilaku perpustakaan dan tipe-casting. Katakanlah Anda ingin menjaga semua string kosong "" sebagai string, bukan null . Yang harus Anda lakukan adalah membuat HandlerRunner Anda sendiri tanpa 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 "" Cara yang sama untuk menghapus NullHandler Anda dapat menambahkan penangan Anda sendiri. Yang harus Anda lakukan adalah memastikan bahwa itu mengimplementasikan ReversePrintRHandlerHandlerInterface dan Anda baik untuk pergi.
Perpustakaan mengikuti SEMVER. Semua pembaruan kecil dan tambalan kompatibel.
Silakan lihat file lisensi untuk informasi lebih lanjut.