неизменность — PHP передает объекты по значению

Я хотел бы реализовать чистую функцию в PHP

Как передать объект по значению, а не по ссылке?

Другими словами, это ожидаемый результат:

function change($obj) {
$obj->set_value(2);
}

$obj = new Object();
$obj->set_value(1);
change($obj);
echo $obj->get_value(); // 1

0

Решение

читай здесь:

http://php.net/manual/en/language.oop5.cloning.php

Вы действительно не должны передавать по значению, так как это потребует глубокого копирования ака. глубокий клон, или безумная сумма, выделенная для параметров ..

если вы действительно хотите, ответ:
сначала глубокую копию, затем передайте ссылку на копию.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]