Re: References challenge with PHP4
| From: | Lluis Pamies | Date: | Tue, 20 Mar 2007 07:18:04 +0000 |
| Subject: | Re: References challenge with PHP4 | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-250884@lists.php.net to get a copy of this message | ||
En/na Jochem Maas ha escrit:
Lluis Pamies wrote: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 TechnologiesI've the following code: 1 <?php 2 3 class B { 4 function B(&$a) {if(!isset($inst)) $inst =& new 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();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 !