Cara menggunakan create object php

Kloning objek membuat salinan objek. Salinan objek dibuat dengan menggunakan kata kunci klon dan method __clone () tidak dapat dipanggil secara langsung. Artinya, objek yang terkandung dari objek yang disalin tidak disalin. Jika Anda menginginkan salinan yang dalam, maka Anda perlu mendefinisikan method __clone ().

Copy Objek dengan Assignment

Dalam script di bawah ini, saya mencoba untuk mengcopy objek dengan menggunakan operator Assignment. Jadi yang terjadi adalah, instance hanyalah pointer ke instance lama. saya dapat memverifikasi itu dengan memperbarui nilai propertinya. Ketika nilai-nilai instance baru diperbarui  akan tercermin dalam instance lama. Jadi, jenis salinan ini hanyalah referensi rangkap ke instance asli. Secara teknis ini bukan salinan, tetapi hanya menetapkan referensi objek ke objek lain.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<?php

classAnimals

{

public$name;

public$category;

}

//Creating instance of Animals class

$objAnimals=newAnimals();

//setting properties

$objAnimals->name="Lion";

$objAnimals->category="Wild Animal";

//Copying object

$objCopied=$objAnimals;

$objCopied->name= "Cat";

$objCopied->category="Pet Animal"

print_r($objAnimals);

print_r($objCopied);

?>

Ketika saya mengubah $ objCopied  mempengaruhi $ objAnimal. Outputnya adalah,

Values of object$objAnimals:

Animals Object

(

    [name]=>Cat

    [category]=>Pet Animal

)

Values of Copied object$objCopied:

Animals Object

(

    [name]=>Cat

    [category] =>Pet Animal

)

Object Copy by clone

Dalam contoh di bawah ini, saya menyalin objek dengan menggunakan kata kunci klon PHP. Method klon PHP melakukan salinan  karenanya, setiap perubahan yang dilakukan pada objek yang dikloning tidak akan mempengaruhi objek asli.

__clone adalah metode magic dalam PHP. Metode magic sudah ditentukan sebelumnya dalam PHP dan dimulai dengan “__” (garis bawah ganda). Mereka dieksekusi sebagai tanggapan terhadap beberapa event di PHP.

<?php

//Creating instance of Animals class

$objAnimals=newAnimals();

//Assigning values

$objAnimals->name="Lion";

$objAnimals->category= "Wild Animal";

//Cloning the original object

$objCloned=clone$objAnimals;

$objCloned->name="Elephant";

$objCloned->category="Wild Animal";

print_r($objAnimals);

print_r($objCloned);

?>

Sekarang kita bisa melihat perbedaan dalam output kode ini.

alues of object$objAnimals:

Animals Object

(

    [name]=>Lion

    [category]=>Wild Animal

)

Values of Cloned object$objCopied:

Animals Object

(

    [name]=>Elephant

    [category] =>Wild Animal

)

Itulah tadi pembahasan saya tentang Cara Menggunakan PHP Object Cloning semoga bermanfaat.