On Thu, 02 Jun 2005 09:05:24 -0400 Jean-Francois Levesque <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php