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
คือการใช้ด้วยความระมัดระวัง