ok, I tried it in a whole number of variations - no joy. you should use php5 if you want this kind of reference stuff - in php5 it just works, php 4 will give you big headaches. Lluis Pamies wrote: > En/na Jochem Maas ha escrit: >> Lluis Pamies wrote: >>> I've the following code: >>> >>> 1 <?php >>> 2 >>> 3 class B { >>> 4 function B(&$a) { >>> 5 $this->a = &$a; >>> 6 } >>> 7 >>> 8 function run() { >>> 9 print "{$this->a->msg}\n"; >>> 10 } >>> 11 } >>> 12 >>> 13 class A { >>> 14 function A() { >>> 15 $this->b = new B(&$this); >>> 16 } >>> 17 >>> 18 function &getInstance() { >>> 19 static $inst; >>> 20 if(!isset($inst)) $inst = new A(); >> >> if(!isset($inst)) $inst =& new A(); >> >>> 21 return $inst; >>> 22 } >>> 23 >>> 24 function run() { >>> 25 $this->b->run(); >>> 26 } >>> 27 } >>> 28 >>> 29 $a = &A::getInstance(); >>> 30 $a->msg = "Hello world !"; >>> 31 >>> 32 // Some tasks, flow control, scope changes, ... >>> 33 >>> 34 $a = &A::getInstance(); >>> 35 print "{$a->msg}\n"; // This should print "Hello world !" >>> 36 $a->run(); // This should print "Hello world !" >>> 37 >>> 38 ?> >>> >>> My problem is that I don't know what I need to do in order to print >>> the same value in lines 35 and 36. Line 35 prints "Hello world !", but >>> in the 36 nothing appears. What I'm doing wrong ? >>> >>> Thanks for all ! >>> > > Have you tried this ? > In my php4 installation it doesn't work ! > > $ php4 -version > PHP 4.4.2-1.1 (cli) (built: Jun 20 2006 02:33:21) > Copyright (c) 1997-2006 The PHP Group > Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php