แนะนำตัว
เมธอดวิเศษใน PHP เป็นวิธีพิเศษที่มุ่งทำงานบางอย่าง เมธอดเหล่านี้ตั้งชื่อด้วยเครื่องหมายขีดล่างคู่ (__) เป็นคำนำหน้า ชื่อฟังก์ชันทั้งหมดเหล่านี้สงวนไว้และไม่สามารถใช้เพื่อวัตถุประสงค์อื่นนอกเหนือจากฟังก์ชันเวทย์มนตร์ที่เกี่ยวข้อง วิธีวิเศษในชั้นเรียนจะต้องเปิดเผยต่อสาธารณะ วิธีการเหล่านี้ทำหน้าที่เป็นตัวสกัดกั้นที่จะถูกเรียกโดยอัตโนมัติเมื่อตรงตามเงื่อนไขที่กำหนด
วิธีการมหัศจรรย์ต่อไปนี้มีให้บริการใน PHP
__นอน
public __sleep ( void ) : array
วิธี serialize() ในคลาสตรวจสอบว่ามีชื่อฟังก์ชัน __sleep() หรือไม่ ถ้าใช่ ฟังก์ชันนั้นจะถูกดำเนินการก่อนการซีเรียลไลซ์เซชันใดๆ มันควรจะส่งคืนอาร์เรย์ที่มีชื่อของตัวแปรทั้งหมดของอ็อบเจกต์นั้นที่ควรถูกทำให้เป็นอนุกรม
__wakeup
public __wakeup ( void ) : void
unserialize() วิธีการตรวจสอบว่ามีฟังก์ชั่นที่มีชื่อเวทย์มนตร์ __wakeup() หากมี ฟังก์ชันนี้สามารถสร้างทรัพยากรใหม่ที่ออบเจ็กต์อาจมีได้
__ซีเรียลไลซ์
public __serialize ( void ) : array
วิธีทำให้เป็นอนุกรม () ยังตรวจสอบว่าคลาสมีเมธอด __serialize() หรือไม่ ถ้าเป็นเช่นนั้น จะดำเนินการก่อนที่จะทำให้เป็นอนุกรมใดๆ ต้องสร้างและส่งกลับอาร์เรย์ที่เชื่อมโยงของคู่คีย์/ค่าที่แสดงรูปแบบต่อเนื่องของวัตถุ
__unserialize
public __unserialize ( array $data ) : void
unserialize() ยังตรวจสอบว่ามี __unserialize() อยู่หรือไม่ และจะถูกส่งผ่านอาร์เรย์ที่กู้คืนซึ่งส่งคืนจาก __serialize() จากนั้นอาจคืนค่าคุณสมบัติของวัตถุจากอาร์เรย์นั้นตามความเหมาะสม
__toString
public __toString ( void ) : string
__toString() วิธีการอธิบายการแสดงสตริงของวัตถุ ตัวอย่างเช่น สิ่งที่สะท้อน $obj; จะพิมพ์ เมธอดนี้ต้องส่งคืนสตริง
__invoke
__invoke ([ $... ] ) : mixed
เมธอดนี้ถูกเรียกเมื่อสคริปต์พยายามเรียกอ็อบเจกต์เป็นฟังก์ชัน
__set_state
static __set_state ( array $properties ) : object
วิธีการแบบคงที่นี้ถูกเรียกสำหรับคลาสที่ส่งออกโดย var_export() มันรับพารามิเตอร์หนึ่งตัวซึ่งเป็นอาร์เรย์ที่มีคุณสมบัติที่ส่งออกในรูปแบบ array('property' => value, ...)
__debugInfo
__debugInfo ( void ) : array
เมธอดนี้จะถูกเรียกโดยอัตโนมัติเมื่อดำเนินการ var_dump() เพื่อดัมพ์อ็อบเจ็กต์เพื่อรับคุณสมบัติที่ควรจะแสดง หากไม่ได้กำหนดไว้ คุณสมบัติสาธารณะ การป้องกัน และส่วนตัวทั้งหมดจะแสดงขึ้น
__set
public __set ( string $name , mixed $value ) : void
__set() ทำงานเมื่อเขียนข้อมูลไปยังคุณสมบัติที่ไม่สามารถเข้าถึงได้ (ป้องกันหรือส่วนตัว) หรือไม่มีอยู่
__get
public __get ( string $name ) : mixed
__get() ใช้สำหรับอ่านข้อมูลจากคุณสมบัติที่ไม่สามารถเข้าถึงได้ (มีการป้องกันหรือส่วนตัว) หรือไม่มีอยู่จริง
__isset
public __isset ( string $name ) : bool
__isset() ถูกเรียกใช้โดยการเรียก isset() หรือ empty() บนคุณสมบัติที่ไม่สามารถเข้าถึงได้ (ป้องกันหรือส่วนตัว) หรือไม่มีอยู่จริง
__unset
public __unset ( string $name ) : void
__unset() ถูกเรียกใช้เมื่อใช้ unset() กับคุณสมบัติที่ไม่สามารถเข้าถึงได้ (ป้องกันหรือส่วนตัว) หรือไม่มีอยู่จริง