Now I have zend.ze1_compatibility_mode to off and now it's working.

Thanks!

Jean-François

Antony Dovgal wrote:
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.


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to