clone
PHP clone kalit so‘zi
❮ PHP kalit so‘zlar ma’lumotnomasi
Misol
Obyektning nusxasini yarating:
<?php
class MyClass {
public $color;
public $amount;
}
$obj = new MyClass();
$obj->color = "red";
$obj->amount = 5;
$copy = clone $obj;
print_r($copy);
?>
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
clone kalit so‘zi obyektning nusxasini yaratish uchun ishlatiladi.
Agar xususiyatlardan birortasi boshqa o‘zgaruvchi yoki obyektga havola bo‘lsa, faqat havolaning o‘zi nusxalanadi. Obyektlar har doim havola orqali uzatiladi, shuning uchun asl obyektning xususiyatlarida boshqa obyekt bo‘lsa, nusxa ham xuddi shu obyektga ishora qiladi. Bu xatti-harakatni classda __clone() metodini yaratish orqali o‘zgartirish mumkin.
Tegishli sahifalar
Classlar haqida PHP classlar va obyektlar darsligimizda batafsil o‘qing.
Ko‘proq misollar
Misol
Havolaga ega obyektning nusxasini yarating:
<?php
class MyClass {
public $amount;
}
// Create an object with a reference
$value = 5;
$obj = new MyClass();
$obj->amount = &$value;
// Clone the object
$copy = clone $obj;
// Change the value in the original object
$obj->amount = 6;
// The copy is changed
print_r($copy);
?>
O‘zingiz sinab ko‘ring »
Misol
Nusxalangan obyektdagi havolalarni uzish uchun __clone() metodidan foydalaning:
<?php
class MyClass {
public $amount;
public function __clone() {
$value = $this->amount;
unset($this->amount); // Unset breaks references
$this->amount = $value;
}
}
// Create an object with a reference
$value = 5;
$obj = new MyClass();
$obj->amount = &$value;
// Clone the object
$copy = clone $obj;
// Change the value in the original object
$obj->amount = 6;
// The copy is not changed
print_r($copy);
?>
O‘zingiz sinab ko‘ring »
❮ PHP kalit so‘zlar ma’lumotnomasi
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
