ID: 11768
Updated by: mfischer
Reported By: [EMAIL PROTECTED]
Old Status: Open
Status: Closed
Bug Type: Class/Object related
Operating System: Linux 2.2.x
PHP Version: 4.0 Latest CVS (2001-06-28)
New Comment:
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.
Previous Comments:
------------------------------------------------------------------------
[2001-06-28 03:29:46] [EMAIL PROTECTED]
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.
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=11768&edit=1
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]