Re: PHP5, objects not passed by reference?!?
| From: | Jean-Francois Levesque | Date: | Thu, 02 Jun 2005 14:35:39 +0000 |
| Subject: | Re: PHP5, objects not passed by reference?!? | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-16357@lists.php.net to get a copy of this message | ||
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 <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() {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.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?