Re: PHP5, objects not passed by reference?!?

From: Date: Thu, 02 Jun 2005 14:24:04 +0000
Subject: Re: PHP5, objects not passed by reference?!?
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-16356@lists.php.net to get a copy of this message
On Thu, 02 Jun 2005 09:05:24 -0400 Jean-Francois Levesque <linux@step.polymtl.ca> wrote: > Hi! > > In PHP5, the objects are supposed to be passed by reference, right? I > try to use a singleton pattern but it's not working. I just compile the > lastest php version (5.0.4) and I still have the problem. > > My code : > > <?php > class Example > { > // Hold an instance of the class > private static $instance; > public $testvar = 'init'; > > // The singleton method > public static function singleton() > { > if (!isset(self::$instance)) { > $c = __CLASS__; > self::$instance = new $c; > } > > return self::$instance; > } > // Prevent users to clone the instance > public function __clone() > { > trigger_error('Clone is not allowed.', E_USER_ERROR); > } > } > > $test = Example::singleton(); > $test2 = Example::singleton(); > > $test->testvar = 1; > $test2->testvar = 2; > > echo $test->testvar." ; ".$test2->testvar; > > ?> > > > Output : > > Fatal error: Clone is not allowed. in > /usr/home/usagers/linux/step_html/stationnement/test.php on line 21 > > > Phpinfo : > http://step.polymtl.ca/~linux/stationnement/phpinfo.php > > Should I set something in the php.ini? What can I do? I get "2 ; 2" and no error with latest snapshots of 5.0.5-dev and HEAD. Check if you have zend.ze1_compatibility_mode Off. -- Wbr, Antony Dovgal aka tony2001 antony@zend.com

« previous php.internals (#16356) next »