360 of 410 menu

मेथड __set_state

मेथड __set_state स्थैतिक है और ऑब्जेक्ट पर फ़ंक्शन var_export का उपयोग करते समय स्वचालित रूप से कॉल किया जाता है। इसे पुनर्स्थापित गुणों के साथ कक्षा का एक नया उदाहरण वापस करना चाहिए। यह मेथड ऑब्जेक्ट्स को क्रमबद्ध करने और उनके क्रम को हटाने के लिए उपयोगी है।

वाक्य - विन्यास

public static function __set_state(array $properties): object

उदाहरण

आइए एक क्लास बनाएं और इसमें __set_state मेथड लागू करें:

<?php class MyClass { public $prop1; public $prop2; public function __construct($val1, $val2) { $this->prop1 = $val1; $this->prop2 = $val2; } public static function __set_state($array) { return new self($array['prop1'], $array['prop2']); } } $obj = new MyClass('a', 'b'); $exported = var_export($obj, true); eval('$newObj = ' . $exported . ';'); var_dump($newObj); ?>

कोड निष्पादित करने का परिणाम:

object(MyClass)#2 (2) { ["prop1"]=> string(1) "a" ["prop2"]=> string(1) "b" }

उदाहरण

निजी गुणों के साथ __set_state का उपयोग:

<?php class PrivateClass { private $secret; public function __construct($value) { $this->secret = $value; } public static function __set_state($array) { $obj = new self($array['secret']); return $obj; } } $privateObj = new PrivateClass('12345'); $exported = var_export($privateObj, true); eval('$newPrivateObj = ' . $exported . ';'); var_dump($newPrivateObj); ?>

कोड निष्पादित करने का परिणाम:

object(PrivateClass)#2 (1) { ["secret":"PrivateClass":private]=> string(5) "12345" }

यह भी देखें

  • फ़ंक्शन var_export,
    जो एक वेरिएबल को स्ट्रिंग में निर्यात करता है
  • मेथड __sleep,
    जो ऑब्जेक्ट को क्रमबद्ध करने से पहले कॉल किया जाता है
  • मेथड __wakeup,
    जो ऑब्जेक्ट के क्रम को हटाते समय कॉल किया जाता है
हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें