суббота, 1 апреля 2017 г.

PHP ООП. Клонирование объектов

$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

*/

?>

Комментариев нет:

Отправить комментарий

Materialize-css. Футер

Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html