$c = clone $a;
Метод __clone() работает, как конструктор.
function __clone() {
echo "Existing beverage was cloned. <br />";
}
<?php
class Beverage {
public $name;
function __construct() {
echo "New beverage was created. <br />";
}
function __clone() {
echo "Existing beverage was cloned. <br />";
}
}
$a = new Beverage();
$a->name = "coffee";
$b = $a; // это ссылка, которая меняет значение а
$b->name = "tea";
echo $a->name; // tea становится новым атрибутом а
echo "<br />";
// Если мы не хотим ссылку, а хотим копию, то используем ключевое слово clone
$c = clone $a;
$c->name = "orange juice";
echo $a->name; // tea
echo "<br />";
echo $c->name; // orange juice
/*
На странице выводится:
New beverage was created.
tea
Existing beverage was cloned.
tea
orange juice
*/
?>
Метод __clone() работает, как конструктор.
function __clone() {
echo "Existing beverage was cloned. <br />";
}
<?php
class Beverage {
public $name;
function __construct() {
echo "New beverage was created. <br />";
}
function __clone() {
echo "Existing beverage was cloned. <br />";
}
}
$a = new Beverage();
$a->name = "coffee";
$b = $a; // это ссылка, которая меняет значение а
$b->name = "tea";
echo $a->name; // tea становится новым атрибутом а
echo "<br />";
// Если мы не хотим ссылку, а хотим копию, то используем ключевое слово clone
$c = clone $a;
$c->name = "orange juice";
echo $a->name; // tea
echo "<br />";
echo $c->name; // orange juice
/*
На странице выводится:
New beverage was created.
tea
Existing beverage was cloned.
tea
orange juice
*/
?>
Комментариев нет:
Отправить комментарий