347 of 410 menu

__clone मेथड

ऑपरेटर clone का उपयोग करते समय मेथड __clone स्वचालित रूप से कॉल होता है। यह ऑब्जेक्ट की कॉपी करने के लिए अपना स्वयं का लॉजिक परिभाषित करने की अनुमति देता है। डिफ़ॉल्ट रूप से, PHP ऑब्जेक्ट के सभी प्रॉपर्टीज़ की शैलो कॉपी करता है। मेथड __clone तब उपयोगी होता है जब डीप कॉपी लागू करने की आवश्यकता हो या क्लोनिंग के दौरान व्यवहार बदलने की आवश्यकता हो।

सिंटैक्स

public function __clone(): void

उदाहरण

आइए एक ऑब्जेक्ट की बेसिक क्लोनिंग लागू करें:

<?php class User { public $name; public function __construct($name) { $this->name = $name; } public function __clone() { echo 'ऑब्जेक्ट क्लोन किया गया'; } } $user1 = new User('John'); $user2 = clone $user1; ?>

कोड चलाने का परिणाम:

'ऑब्जेक्ट क्लोन किया गया'

उदाहरण

आइए नेस्टेड ऑब्जेक्ट्स के साथ ऑब्जेक्ट की डीप कॉपी लागू करें:

<?php class Address { public $city; public function __construct($city) { $this->city = $city; } } class User { public $name; public $address; public function __construct($name, $city) { $this->name = $name; $this->address = new Address($city); } public function __clone() { $this->address = clone $this->address; } } $user1 = new User('John', 'New York'); $user2 = clone $user1; $user2->address->city = 'Boston'; echo $user1->address->city; ?>

कोड चलाने का परिणाम:

'New York'

उदाहरण

आइए क्लोनिंग के दौरान एक यूनिक आइडेंटिफायर जोड़ें:

<?php class Product { public $id; public $name; public function __construct($name) { $this->id = uniqid(); $this->name = $name; } public function __clone() { $this->id = uniqid(); } } $product1 = new Product('Laptop'); $product2 = clone $product1; echo $product1->id . ' ' . $product2->id; ?>

कोड चलाने का परिणाम (उदाहरण):

'5f1a2b3c 5f1a2b3d'

यह भी देखें

  • मेथड __construct,
    जो ऑब्जेक्ट का कंस्ट्रक्टर है
हिन्दी
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
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें