Opis Closed เป็นไลบรารีที่มีจุดมุ่งหมายเพื่อเอาชนะข้อจำกัดของ PHP เกี่ยวกับการปิดซีเรียลไลซ์โดยจัดเตรียม wrapper ที่จะทำให้การปิดทั้งหมดสามารถซีเรียลไลซ์ได้
คุณสมบัติที่สำคัญของห้องสมุด:
ทำให้การปิดเป็นอนุกรม
ทำให้วัตถุเป็นอนุกรม
ไม่ใช้ eval สำหรับการปิดซีเรียลไลซ์หรือการยกเลิกซีเรียลไลซ์
ใช้งานได้กับ PHP เวอร์ชันใดก็ได้ที่รองรับการปิด
รองรับไวยากรณ์ PHP 7
จัดการตัวแปรทั้งหมดที่อ้างอิง/นำเข้าใน use() และล้อมการปิดที่อ้างอิง/นำเข้าทั้งหมดโดยอัตโนมัติเพื่อให้เป็นอนุกรมที่เหมาะสม
จัดการการปิดแบบเรียกซ้ำ
จัดการค่าคงที่เวทย์มนตร์เช่น __FILE__ , __DIR__ , __LINE__ , __NAMESPACE__ , __CLASS__ , __TRAIT__ , __METHOD__ และ __FUNCTION__
แก้ไขชื่อคลาส ชื่อฟังก์ชัน และชื่อคงที่ทั้งหมดที่ใช้ภายในการปิดโดยอัตโนมัติ
ติดตามแหล่งที่อยู่ของการปิดถนนโดยใช้คำสั่ง #trackme
แยกวิเคราะห์ที่ง่ายและรวดเร็วมาก
ข้อผิดพลาดหรือข้อยกเว้นใดๆ ที่อาจเกิดขึ้นเมื่อดำเนินการปิดแบบไม่ซีเรียลไลซ์ สามารถตรวจพบและปฏิบัติได้อย่างเหมาะสม
คุณสามารถทำให้เป็นซีเรียลไลซ์/ไม่ซีเรียลไลซ์การปิดใดๆ ได้ไม่จำกัดครั้ง แม้กระทั่งการปิดซีเรียลไลซ์ก่อนหน้านี้ก็ตาม (เป็นไปได้เนื่องจาก eval() ไม่ได้ใช้สำหรับการไม่ซีเรียลไลซ์)
จัดการกับการปิดแบบคงที่
รองรับการปิดที่เซ็นชื่อแบบเข้ารหัส
มีตัวสะท้อนแสงที่สามารถให้ข้อมูลเกี่ยวกับการปิดแบบอนุกรมได้
จัดเตรียมตัววิเคราะห์สำหรับไลบรารี SuperClosure
ตรวจจับโดยอัตโนมัติเมื่อขอบเขตและ/หรือวัตถุที่ถูกผูกไว้ของการปิดจำเป็นต้องทำให้เป็นอนุกรม เพื่อให้การปิดทำงานได้หลังจากการดีซีเรียลไลซ์
สามารถดูเอกสารฉบับเต็มสำหรับห้องสมุดนี้ได้ ที่นี่
Opis Closed ได้รับอนุญาตภายใต้ใบอนุญาต MIT (MIT)
PHP ^5.4 || ^7.0 || ^8.0
Opis Closed มีอยู่ใน Packagist และสามารถติดตั้งได้จากอินเทอร์เฟซบรรทัดคำสั่งโดยใช้ Composer
ผู้แต่งต้องการความเห็น/การปิดตัว
หรือคุณสามารถอ้างอิงโดยตรงไปยังไฟล์ composer.json ของคุณเป็นการขึ้นต่อกัน
{"ต้องการ": {"ความเห็น/การปิด": "^3.5"}
- หากโปรเจ็กต์ของคุณจำเป็นต้องรองรับ PHP 5.3 คุณสามารถใช้ Opis Closed เวอร์ชัน 2.x ต่อไปได้ มิฉะนั้น สมมติว่าคุณไม่ได้ใช้คลาสหรือฟีเจอร์ที่ถูกลบ/ปรับโครงสร้างใหม่ (ดูการเปลี่ยนแปลง) การเปลี่ยนไปใช้เวอร์ชัน 3.x เป็นเพียงเรื่องของการอัปเดตไฟล์ composer.json ของคุณ
Opis Closed เป็นไปตามข้อกำหนดการกำหนดเวอร์ชันเชิงความหมาย
เราได้เพิ่มคุณลักษณะนี้เพื่อให้สามารถรองรับการทำให้เป็นอนุกรมของอ็อบเจ็กต์ที่ถูกผูกไว้ของการปิดได้ การนำไปปฏิบัติยังห่างไกลจากความสมบูรณ์แบบ และเป็นเรื่องยากมากที่จะทำให้การทำงานไม่มีที่ติ เราจะพยายามปรับปรุงสิ่งนี้ แต่เราไม่สามารถรับประกันอะไรได้ ดังนั้นคำแนะนำของเราเกี่ยวกับฟังก์ชัน OpisClosureserialize|unserialize คือการใช้ด้วยความระมัดระวัง