|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2001-06-28 03:29 UTC] zork at pablosoft dot com dot pl
When I want to set reference to $this object gets copied.
In this example $ui_handler contains copy of object $test.
$ui_handler -> data is not reference to $test.
I use CVS 2001-06-24.
<?
class CUI_element {
var $value;
function CUI_element($value) {
global $ui_handler;
$this -> value = $value;
$ui_handler -> register($this);
}
}
class CUI_handler {
var $data;
function CUI_handler() {
$this -> data = false;
}
function register(&$element) {
$this -> data = &$element;
}
};
$ui_handler = new CUI_Handler();
$test = new CUI_Element("test");
$test -> value = "changed";
var_dump($ui_handler -> data); print "<br>";
var_dump($test); print "<br>";
?>
My output:
object(cui_element)(1) { ["value"]=> string(4) "test" }
object(cui_element)(1) { ["value"]=> string(7) "changed" }
Working url: http://biuro.pablosoft.com.pl/~zork/ref/tests.php
regards,
Zork.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 30 14:00:01 2025 UTC |
The line $test = new CUI_Element("test"); didn't return $this but a copy of $this. So change it to $test = &new CUI_Element("test"); and it works. Closed.