Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP में ऑब्जेक्ट की कॉपी कैसे बनाएं


PHP में ऑब्जेक्ट कॉपी करना

PHP में, ऑब्जेक्ट्स डिफ़ॉल्ट रूप से **रेफरेंस द्वारा असाइन** किए जाते हैं। एक स्वतंत्र कॉपी बनाने के लिए, **clone** कीवर्ड का उपयोग करें।

उदाहरण 1: बेसिक क्लोनिंग

<?php
class Demo {
    public $val1;
    public $val2;
}

$ob = new Demo();
$copyOb = clone $ob; // शैलो कॉपी बनाता है

$ob->val1 = "Jack";
$ob->val2 = "Kevin";
$copyOb->val1 = "Tom";
$copyOb->val2 = "Ryan";

echo $ob->val1 . $ob->val2 . "\n";     // JackKevin
echo $copyOb->val1 . $copyOb->val2 . "\n"; // TomRyan
?>

आउटपुट

JackKevin
TomRyan

उदाहरण 2: कंस्ट्रक्टर के साथ

<?php
class Demo {
    public $deptname;
    public $deptzone;

    public function __construct($a, $b) {
        $this->deptname = $a;
        $this->deptzone = $b;
    }
}

$val = new Demo('Finance', 'West');
$copy = clone $val;

print_r($val);
print_r($copy);
?>

आउटपुट

Demo Object
(
    [deptname] => Finance
    [deptzone] => West
)
Demo Object
(
    [deptname] => Finance
    [deptzone] => West
)

महत्वपूर्ण: शैलो vs डीप क्लोनिंग

  • शैलो क्लोन (डिफ़ॉल्ट): स्केलर प्रॉपर्टीज़ कॉपी की जाती हैं, लेकिन **ऑब्जेक्ट प्रॉपर्टीज़ साझा** रहती हैं (समान इंस्टेंस को इंगित करती हैं)।
  • डीप क्लोन: __clone() मैजिक मेथड लागू करें ताकि नेस्टेड ऑब्जेक्ट्स को क्लोन किया जा सके।

डीप क्लोन उदाहरण

<?php
class Address {
    public $city;
    public function __construct($city) { $this->city = $city; }
}

class Person {
    public $name;
    public $address;

    public function __construct($name, Address $address) {
        $this->name = $name;
        $this->address = $address;
    }

    // डीप क्लोन के लिए __clone लागू करें
    public function __clone() {
        $this->address = clone $this->address;
    }
}

$addr = new Address("Delhi");
$p1 = new Person("Amit", $addr);
$p2 = clone $p1; // डीप क्लोन __clone() के कारण

$p2->address->city = "Mumbai";
echo $p1->address->city; // Delhi (अप्रभावित)
echo $p2->address->city; // Mumbai
?>
  1. जावास्क्रिप्ट में डेट ऑब्जेक्ट कैसे बनाएं? जावास्क्रिप्ट में डेट ऑब्जेक्ट कैसे बनाएं?

    परिचय जावास्क्रिप्ट Date ऑब्जेक्ट तारीख और समय के साथ काम करने के लिए उपयोग किया जाता है। इसे new Date() कंस्ट्रक्टर का उपयोग करके बनाया जा सकता है जिसमें विभिन्न पैरामीटर्स हो सकते हैं। उदाहरण निम्न कोड जावास्क्रिप्ट में डेट ऑब्जेक्ट बनाने के लिए है: <!DOCTYPE html> <html lang="hi&

  1. JavaScript का उपयोग करके URL ऑब्जेक्ट कैसे बनाएं? JavaScript का उपयोग करके URL ऑब्जेक्ट कैसे बनाएं?

    JavaScript का उपयोग करके URL ऑब्जेक्ट बनाने का निम्नलिखित कोड है:उदाहरण<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>URL Obje

  1. जावास्क्रिप्ट में मल्टीडाइमेंशनल ऑब्जेक्ट कैसे बनाएं? जावास्क्रिप्ट में मल्टीडाइमेंशनल ऑब्जेक्ट कैसे बनाएं?

    जावास्क्रिप्ट में मल्टीडाइमेंशनल ऑब्जेक्ट बनाने के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title&