Gifik
Новичок
как получить ссылку на объект, а не на копию в $this
Возник вот такой интересный вопрос.
Используя в методах объекта $this мы по сути используем копию данного объекта в памяти, которой потом заменяется исходный объект.
Но можно ли как-то получить ссылку именно на вызывающий объект?
Для наглядности такой пример:
Возник вот такой интересный вопрос.
Используя в методах объекта $this мы по сути используем копию данного объекта в памяти, которой потом заменяется исходный объект.
Но можно ли как-то получить ссылку именно на вызывающий объект?
Для наглядности такой пример:
PHP:
// создаем массив, где хотим хранить ссылки на все созданные объекты класса test
$copy = array();
class test {
var $field;
function test() {
global $copy;
// добавляем ссылку на объект (но по сути на копию объекта)
$copy[] = &$this;
// присваиваем любое значение
$this->field = 'test value';
}
}
$testObject = new test();
// присваиваем новое значение
$testObject->field = 'new test value';
print $copy[0]->field; // выведет test value, т.к. в $copy[0] не стоит ссылка на объект, а на его копию, которая была в $this