เมื่อไม่นานมานี้มี RFC เกี่ยวกับการเพิ่มวิธี __toarray ลงใน PHP น่าเศร้าที่สิ่งนี้ถูกปฏิเสธ PHP-FIG ยังไม่มีโครงการใด ๆ เกี่ยวกับเรื่องนั้น และนั่นคือเหตุผลที่วันนี้เรามีชั้นเรียนมากมายในกรอบการทำงานที่แตกต่างกันซึ่งมีวิธีการ toarray มีแพ็คเกจนักแต่งเพลงบางอย่างที่มีอินเทอร์เฟซ ToArray เช่น Illuminate/Contracts อย่างไรก็ตามแพ็คเกจเหล่านี้ไม่ใช่ตัวเลือกที่ดีมากหากคุณต้องการเพียงไฟล์เดียวที่มีอินเทอร์เฟซจากที่นั่น ในกรณีนี้พวกเขามีหลายสิ่งที่คุณไม่ต้องการ นั่นคือเหตุผลที่เราได้สร้างห้องสมุดนักแต่งเพลงขนาดเล็กที่สามารถใช้สำหรับกรณีดังกล่าว
ดังนั้นโดยพื้นฐานแล้วไลบรารีนี้มีเพียงสิ่งเดียวเท่านั้น - มันให้อินเทอร์เฟซที่สามารถใช้งานได้เมื่อคุณจำเป็นต้องรู้ว่าวัตถุมีความเป็นไปได้ที่จะถูกแปลงเป็นอาร์เรย์ด้วยวิธี toArray หรือไม่
ในการติดตั้งและใช้แพ็คเกจนี้เราขอแนะนำให้ใช้ Composer:
composer require imponeer/toarray-interface มิฉะนั้นคุณจะต้องรวมไฟล์ manualy จาก src/ Directory
หมายเหตุ: หากคุณต้องการใช้ไลบรารีนี้ในโครงการ PHP 5 คุณต้องใช้ไลบรารีเวอร์ชัน 1.0
use Imponeer/ ToArrayInterface ;
class DummyObject implements ToArrayInterface {
/**
* Converts object to array
*
* @return array
*/
public function toArray (): array {
return array (
' hash ' => sha1 ( time ())
);
}
}
$ instance = new DummyObject ();
if ( $ instance instanceof ToArrayInterface) {
var_dump ( $ instance -> toArray ());
}หากคุณต้องการเพิ่มฟังก์ชั่นบางอย่างหรือแก้ไขข้อบกพร่องคุณสามารถแยกเปลี่ยนและสร้างคำขอดึง หากคุณไม่แน่ใจว่าวิธีนี้ใช้งานได้อย่างไรให้ลองสอนแบบโต้ตอบ GitHub
หากคุณพบข้อผิดพลาดใด ๆ หรือมีคำถามให้ใช้แท็บปัญหาและเขียนคำถามของคุณที่นั่น