ไลบรารีนี้มีตัวจัดการหกตัวที่แตกต่างกันสำหรับการย้อนกลับเอาต์พุตของฟังก์ชั่น print_r ของ PHP กลับไปที่ตัวแปรดั้งเดิม หากไม่มีตัวจัดการสำหรับประเภทที่ส่งคืนเป็น 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 การอัปเดตเล็กน้อยและแพตช์ทั้งหมดเข้ากันได้
โปรดดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม