परिचय
PHP में जादू के तरीके विशेष तरीके हैं जिनका उद्देश्य कुछ कार्यों को करना है। इन विधियों को उपसर्ग के रूप में डबल अंडरस्कोर (__) के साथ नामित किया गया है। ये सभी फ़ंक्शन नाम आरक्षित हैं और संबंधित जादुई कार्यक्षमता के अलावा किसी अन्य उद्देश्य के लिए उपयोग नहीं किए जा सकते हैं। कक्षा में जादुई विधि को सार्वजनिक घोषित किया जाना चाहिए। ये विधियां इंटरसेप्टर के रूप में कार्य करती हैं जिन्हें कुछ शर्तों के पूरा होने पर स्वचालित रूप से कॉल किया जाता है।
निम्नलिखित जादुई तरीके वर्तमान में PHP में उपलब्ध हैं
__नींद
public __sleep ( void ) : array
कक्षा में क्रमबद्ध () विधि यह जाँचती है कि क्या इसका फ़ंक्शन नाम __sleep () है। यदि ऐसा है, तो उस फ़ंक्शन को किसी भी क्रमांकन से पहले निष्पादित किया जाता है। यह उस ऑब्जेक्ट के सभी वेरिएबल्स के नामों के साथ एक ऐरे को वापस करने वाला है जिसे क्रमबद्ध किया जाना चाहिए।
__वेकअप
public __wakeup ( void ) : void
unserialize() विधि जांचता है कि जादू नाम __wakeup() के साथ एक फ़ंक्शन मौजूद है। यदि मौजूद है, तो यह फ़ंक्शन किसी भी संसाधन का पुनर्निर्माण कर सकता है जो ऑब्जेक्ट के पास हो सकता है।
__क्रमबद्ध करें
public __serialize ( void ) : array
serialize() विधि यह भी जांचती है कि कक्षा में __serialize() विधि है या नहीं। यदि ऐसा है, तो इसे किसी भी क्रमांकन से पहले निष्पादित किया जाता है। इसे कुंजी/मान युग्मों की एक साहचर्य सरणी का निर्माण और वापसी करनी चाहिए जो वस्तु के क्रमबद्ध रूप का प्रतिनिधित्व करती है।
__अनक्रमबद्ध करें
public __unserialize ( array $data ) : void
unserialize() यह भी जांचता है कि क्या __unserialize() मौजूद है, और इसे __serialize() से लौटाए गए पुनर्स्थापित सरणी को पारित किया जाएगा। यह तब उस सरणी से ऑब्जेक्ट के गुणों को उपयुक्त के रूप में पुनर्स्थापित कर सकता है
__toString
public __toString ( void ) : string
__toString() विधि वस्तु के स्ट्रिंग प्रतिनिधित्व का वर्णन करती है। उदाहरण के लिए, क्या echo $obj; प्रिंट करेगा। इस विधि को एक स्ट्रिंग वापस करनी चाहिए
__आह्वान
__invoke ([ $... ] ) : mixed
इस विधि को तब कहा जाता है जब कोई स्क्रिप्ट किसी ऑब्जेक्ट को फ़ंक्शन के रूप में कॉल करने का प्रयास करती है।
__set_state
static __set_state ( array $properties ) : object
इस स्थिर विधि को var_export () द्वारा निर्यात की गई कक्षाओं के लिए कहा जाता है। यह एक पैरामीटर प्राप्त करता है जो एक सरणी है जिसमें प्रपत्र सरणी ('संपत्ति' => मान, ...) में निर्यात किए गए गुण होते हैं।
__debugInfo
__debugInfo ( void ) : array
यह विधि स्वचालित रूप से कॉल की जाती है जब var_dump () को किसी ऑब्जेक्ट को डंप करने के लिए निष्पादित किया जाता है ताकि गुण दिखाए जा सकें। यदि इसे परिभाषित नहीं किया गया है, तो सभी सार्वजनिक, संरक्षित और निजी संपत्तियां दिखाई जाएंगी।
__सेट
public __set ( string $name , mixed $value ) : void
__set() दुर्गम (संरक्षित या निजी) या गैर-मौजूदा गुणों के लिए डेटा लिखते समय चलाया जाता है।
__प्राप्त करें
public __get ( string $name ) : mixed
__get() का उपयोग दुर्गम (संरक्षित या निजी) या गैर-मौजूदा गुणों से डेटा पढ़ने के लिए किया जाता है।
__isset
public __isset ( string $name ) : bool
__isset() दुर्गम (संरक्षित या निजी) या गैर-मौजूदा गुणों पर isset() या खाली() को कॉल करके ट्रिगर किया जाता है।
__अनसेट
public __unset ( string $name ) : void
__unset() को तब लागू किया जाता है जब unset() का उपयोग दुर्गम (संरक्षित या निजी) या गैर-मौजूदा गुणों पर किया जाता है।