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]

Reply via email to